On Thu, Jul 31, 2014 at 3:31 PM, Philip Oakley wrote:
> I thought it worth bring to the list's attention a recent article on
> CodeProject that may be of interest to those looking at splitting binary
> files into deterministic hunks.
>
> http://www.codeproject.com/Articles/801608/Using-a-rolling-
On Thu, Jul 31, 2014 at 05:58:17PM -0700, Mike Stump wrote:
> Cherry picking doesn’t work as well as it should. I was testing on
> git version 1.7.9.5.
>
> Put in a line in a file, call it:
>
> first version
>
> then cherry pick this into your branch. Then update on master and transform
> that
Cherry picking doesn’t work as well as it should. I was testing on git version
1.7.9.5.
Put in a line in a file, call it:
first version
then cherry pick this into your branch. Then update on master and transform
that into:
second version
then, merge that branch back to master. Death in the
I thought it worth bring to the list's attention a recent article on
CodeProject that may be of interest to those looking at splitting binary
files into deterministic hunks.
http://www.codeproject.com/Articles/801608/Using-a-rolling-hash-to-break-up-binary-files
It's based on Rabin and Karp's
Am 31.07.2014 um 21:50 schrieb Nikolay Avdeev:
I've noticed something strange with git status when replacing a folder with
symlink to another folder.
There is a git repo with script with demo in the attachment.
Let's try and make this a bit easier for folks to follow along.
# Create test repo
List, please see here an overview and ordering of the ref transaction
patch series.
These series build on each other and needs to be applied in the order
listed below.
This is an update.
rs/ref-transaction-0
---
Early part of the "ref transaction" topic.
* rs/re
Update receive-pack to use an atomic transaction IFF the client negotiated
that it wanted atomic-push.
This leaves the default behaviour to be the old non-atomic one ref at a
time update. This is to cause as little disruption as possible to existing
clients. It is unknown if there are client script
Signed-off-by: Ronnie Sahlberg
---
Documentation/git-push.txt | 7 ++-
builtin/push.c | 2 ++
transport.c| 1 +
transport.h| 1 +
4 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
Signed-off-by: Ronnie Sahlberg
---
Documentation/git-send-pack.txt | 7 ++-
builtin/send-pack.c | 6 +-
send-pack.c | 8 +++-
send-pack.h | 1 +
4 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-send-p
Signed-off-by: Ronnie Sahlberg
---
Documentation/config.txt | 5 +
builtin/receive-pack.c | 5 +
2 files changed, 10 insertions(+)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 1d718bd..75ce157 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.tx
List,
This small patch series adds atomic-push support to for pushes.
By default git will use the old style non-atomic updates for pushes,
as not to cause disruption in client scripts that may depend on that
behaviour.
Command line arguments are introduced to allow the client side to request/
neg
Signed-off-by: Ronnie Sahlberg
---
builtin/receive-pack.c | 6 +-
send-pack.c| 12 +---
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index 0565b94..f6b20cb 100644
--- a/builtin/receive-pack.c
+++ b/builtin
Signed-off-by: Ronnie Sahlberg
---
refs.c | 25 +
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/refs.c b/refs.c
index 0aad8c8..cfe1292 100644
--- a/refs.c
+++ b/refs.c
@@ -2270,13 +2270,17 @@ static int write_packed_entry_fn(struct ref_entry
*entry, void
Signed-off-by: Ronnie Sahlberg
---
refs.c | 85 +++---
1 file changed, 50 insertions(+), 35 deletions(-)
diff --git a/refs.c b/refs.c
index cfe1292..19e73f3 100644
--- a/refs.c
+++ b/refs.c
@@ -2232,8 +2232,8 @@ static struct ref_lock *
Signed-off-by: Ronnie Sahlberg
---
builtin/pack-refs.c | 8 +++-
refs.c | 13 ++---
refs.h | 3 ++-
3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/builtin/pack-refs.c b/builtin/pack-refs.c
index b20b1ec..da5d46a 100644
--- a/builtin/pack-re
Change add_packed_ref to return an error instead of calling die().
Update all callers to check the return value of add_packed_ref.
We can also skip checking the refname format since this function is now
static and only called from the transaction code.
If we are updating a ref and the refname is b
List,
This is the next patch series in the ref transaction work.
This patch series is called ref-transactions-req-strbuf-err and builds ontop
of the series called ref-transactions-req-packed-refs which is origin/pu
This patch series mainly adds some nice strbuf arguments to some functions to
pas
Signed-off-by: Ronnie Sahlberg
---
builtin/checkout.c | 7 +--
builtin/clone.c | 23 +++
builtin/merge.c | 20 +---
builtin/notes.c | 24 ++--
builtin/reset.c | 12
builtin/update-ref.c | 7 +--
n
Matthieu Moy writes:
> Tanay Abhra writes:
>
>> On 7/31/2014 11:39 PM, Matthieu Moy wrote:
>>
>>> This is the part I find weird. You're calling git_die_config_exact() on
>>> the first boggus value, and git_die_config_exact() will notify an error
>>> at the line of the last boggus value.
>>
>> Hm
Greetings from Russia, comrads!
I've noticed something strange with git status when replacing a folder with
symlink to another folder.
There is a git repo with script with demo in the attachment.
Yours sincerely,
NickKolok aka Nikolay Avdeev.
Доброго времени суток, товарищи!
При замене папки на
Junio C Hamano wrote:
>
> The basic idea looks good, but I have doubts on one point.
Thanks for spotting the mistake in the error handling. I'll send an update
with a fix.
Tony.
--
f.anthony.n.finchhttp://dotat.at/
South Utsire: Southwesterly 4 or 5, occasionally 6 at first in south, backin
Tony Finch writes:
> Some MUAs delete their "drafts" folder when it is empty, so
> git imap-send should be able to create it if necessary.
>
> This change checks that the folder exists immediately after
> login and tries to create it if it is missing.
>
> There was some vestigial code to handle a
Tanay Abhra writes:
> On 7/31/2014 11:39 PM, Matthieu Moy wrote:
>
>> This is the part I find weird. You're calling git_die_config_exact() on
>> the first boggus value, and git_die_config_exact() will notify an error
>> at the line of the last boggus value.
>
> Hmn, we may have some confusion her
On 7/31/2014 11:39 PM, Matthieu Moy wrote:
> Tanay Abhra writes:
>
>> On 7/31/2014 10:22 PM, Matthieu Moy wrote:
>>> Tanay Abhra writes:
>>>
On 7/31/2014 9:25 PM, Matthieu Moy wrote:
> Tanay Abhra writes:
>
>> +void git_die_config(const char *key)
>> +{
>> +co
Tanay Abhra writes:
> On 7/31/2014 10:22 PM, Matthieu Moy wrote:
>> Tanay Abhra writes:
>>
>>> On 7/31/2014 9:25 PM, Matthieu Moy wrote:
Tanay Abhra writes:
> +void git_die_config(const char *key)
> +{
> + const struct string_list *values;
> + struct key_value_info *k
On 7/31/2014 10:22 PM, Matthieu Moy wrote:
> Tanay Abhra writes:
>
>> On 7/31/2014 9:25 PM, Matthieu Moy wrote:
>>> Tanay Abhra writes:
>>>
+void git_die_config(const char *key)
+{
+ const struct string_list *values;
+ struct key_value_info *kv_info;
+ values = git_
Ramsay Jones writes:
> On 21/07/14 12:12, Tanay Abhra wrote:
>> -char *alias_lookup(const char *alias)
>> +char *alias_lookup(const char* alias)
>
> No, this is not C++. :-D
Why would C++ make a difference? Shouldn't you *never* do that?
--
Hi! I'm a .signature virus! Copy me into your ~/.sign
Duy Nguyen writes:
> On Thu, Jul 31, 2014 at 12:51 AM, Junio C Hamano wrote:
>> Nguyễn Thái Ngọc Duy writes:
>>
>>> The series has entered 'next' so I can't replace patches any more.
>>> Besides the brown paper bag fixes, checkout now rejects if a branch is
>>> already checked out elsewhere.
>>
Jeff King writes:
> Hmph. To be honest, I am starting to wonder if implying "--first-parent"
> is a more sensible option for "stash list". It matches "stash show", at
> least, and it is not unreasonable to simply present the changes in the
> working tree by default, and ignore the index. People w
Tanay Abhra writes:
> On 7/31/2014 9:25 PM, Matthieu Moy wrote:
>> Tanay Abhra writes:
>>
>>> +void git_die_config(const char *key)
>>> +{
>>> + const struct string_list *values;
>>> + struct key_value_info *kv_info;
>>> + values = git_config_get_value_multi(key);
>>> + kv_info = values
On 7/31/2014 9:25 PM, Matthieu Moy wrote:
> Tanay Abhra writes:
>
>> +void git_die_config(const char *key)
>> +{
>> +const struct string_list *values;
>> +struct key_value_info *kv_info;
>> +values = git_config_get_value_multi(key);
>> +kv_info = values->items[values->nr - 1].ut
Tanay Abhra writes:
> [Patch v6]: Added _() to error messages.
> Diff between v6 and v4 at the bottom.
Except for the tiny style issue in PATCH 6, the series is now
Reviewed-by: Matthieu Moy
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To unsubscribe from this list: send the
Tanay Abhra writes:
> +void git_die_config(const char *key)
> +{
> + const struct string_list *values;
> + struct key_value_info *kv_info;
> + values = git_config_get_value_multi(key);
> + kv_info = values->items[values->nr - 1].util;
> + if (!kv_info->linenr)
> +
Currently `git_config()` returns an integer signifying an error code.
During rewrites of the function most of the code was shifted to
`git_config_with_options()`. `git_config_with_options()` normally
returns positive values if its `config_source` parameter is set as NULL,
as most errors are fatal,
Add `git_die_config` that dies printing the line number and the file name
of the highest priority value for the configuration variable `key`.
It has usage in non-callback based config value retrieval where we can
raise an error and die if there is a semantic error.
For example,
if (!git_c
Of all the functions in `git_config*()` family, `git_config()` has the
most invocations in the whole code base. Each `git_config()` invocation
causes config file rereads which can be avoided using the config-set API.
Use the config-set API to rewrite `git_config()` to use the config caching
layer
Store file name and line number for each key-value pair in the cache
during parsing of the configuration files.
Signed-off-by: Tanay Abhra
---
config.c | 21 +++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/config.c b/config.c
index ed5fc8e..4a15383 100644
---
Add tests for `git_config_get_string_const()`, check whether it
dies printing the line number and the file name if a NULL
value is retrieved for the given key.
Signed-off-by: Tanay Abhra
---
t/t1308-config-set.sh | 10 ++
test-config.c | 10 ++
2 files changed, 20 inserti
Semantic errors (for example, for alias.* variables NULL values are
not allowed) in configuration files cause a die printing the line
number and file name of the offending value.
Add a test documenting that such errors cause a die printing the
accurate line number and file name.
Signed-off-by: Ta
[Patch v6]: Added _() to error messages.
Diff between v6 and v4 at the bottom.
[PATCH v5]: New patch added (3/7). git_config() now returns void.
[PATCH v4]: One style nit corrected, also added key to error messages.
[PATCH V3]:All the suggestions in [3] applied. Built on top of [1].
From: Matthieu Moy
If a callback returns a negative value to `git_config*()` family,
they call `die()` while printing the line number and the file name.
Currently the printed line number is off by one, thus printing the
wrong line number.
Make `linenr` point to the line we just parsed during the
Junio, drop (2/2) of this series, it has conflicts with ta/config-set in pu.
This patch can easily come later. Sorry for the inconvenience.
Patch 1/2 is OK.
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majord
Signed-off-by: Tony Finch
---
Documentation/git-push.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index 21cd455..c0d7403 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -33,7 +33,7 @@ Wh
Tanay Abhra writes:
> From: Matthieu Moy
>
> Signed-off-by: Matthieu Moy
> ---
> v2: error messages now start with a small letter.
Thanks. Ack on both patches.
Is there any reason not to include these two patches in the larger
series? (There's a semantic dependency on the changed error messag
Whenever a callback returns a negative value, the functions
of `git_config_*()` family die printing the line number and
file name. In addition to them, add the variable name to the
error message.
Signed-off-by: Tanay Abhra
---
config.c| 4 ++--
t/t4055-diff-context.sh | 2 +-
2 f
From: Matthieu Moy
Signed-off-by: Matthieu Moy
---
v2: error messages now start with a small letter.
config.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/config.c b/config.c
index 058505c..7330789 100644
--- a/config.c
+++ b/config.c
@@ -442,9 +44
Locked paths can be saved in a linked list so that if something wrong
happens, *.lock are removed. For relative paths, this works fine if we
keep cwd the same, which is true 99% of time except:
- update-index and read-tree hold the lock on $GIT_DIR/index really
early, then later on may call setu
Signed-off-by: Nguyễn Thái Ngọc Duy
---
cache.h| 2 +-
lockfile.c | 56
2 files changed, 33 insertions(+), 25 deletions(-)
diff --git a/cache.h b/cache.h
index cc46be4..0d8dce7 100644
--- a/cache.h
+++ b/cache.h
@@ -539,7 +539,7 @@ st
Signed-off-by: Nguyễn Thái Ngọc Duy
---
lockfile.c | 47 ++-
1 file changed, 14 insertions(+), 33 deletions(-)
diff --git a/lockfile.c b/lockfile.c
index 968b28f..154915f 100644
--- a/lockfile.c
+++ b/lockfile.c
@@ -85,52 +85,33 @@ static char *last_pa
v3 requires rs/strbuf-getcwd, turns paths to absolute from the
beginning, and kills the last use of PATH_MAX in lockfile.c thanks to
strbuf_readlink().
Nguyễn Thái Ngọc Duy (3):
lockfile.c: remove PATH_MAX limitation (except in resolve_symlink)
lockfile.c: remove PATH_MAX limit in resolve_syml
When $projects_list_category_is_directory is turned on, project
categories can be useful as project filters, so with that setting
gitweb now makes the category headings into project_filter links
(like the breadcrumbs).
Signed-off-by: Tony Finch
---
gitweb/gitweb.perl | 14 --
1 file
Previously gitweb would ignore partial PATH_INFO. For example,
it would produce a project list for the top URL
https://www.example.org/projects/
and a project summary for
https://www.example.org/projects/git/git.git
but if you tried to list just the git-related projects with
Previously when a project filter was active, the only simple way
to clear it was by clicking the home link in the breadcrumbs, which
is not very obvious.
This change adds another home link under the search box which clears
both project filter and search, next to the existing link that
clears the s
When repositories are organized in a hierarchial directory tree
it is convenient if gitweb project categories can be set
automatically based on their parent directory, so that users
do not have to set the same information twice.
Signed-off-by: Tony Finch
---
Documentation/gitweb.conf.txt | 6 ++
There are two main things in this little seris:
The second and third patches improve gitweb's project filter feature,
which is for listing just the projects in a subdirectory.
The fourth and fifth allow the admin to use a directory hierarchy
to automatically categorize projects in gitweb.
Tony F
Signed-off-by: Tony Finch
---
Documentation/gitweb.conf.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/gitweb.conf.txt b/Documentation/gitweb.conf.txt
index ebe7a6c..29f1e06 100644
--- a/Documentation/gitweb.conf.txt
+++ b/Documentation/gitweb.conf.txt
@@ -4
"git log -g" and "git log -g -- something" show the same thing. From
the implementation point of view, I guess that's understandable
because reflog takes a different codepath. But I think the user does
not expect that..
--
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
th
Tanay Abhra writes:
> On 7/31/2014 5:01 PM, Matthieu Moy wrote:
>> Signed-off-by: Matthieu Moy
>> ---
>> Noticed while reviewing Tanay's patches, but this one is independant
>> from his series, both syntactically and semantically.
>>
>> config.c | 20 ++--
>> 1 file changed, 10
On 7/31/2014 5:08 PM, Matthieu Moy wrote:
> Matthieu Moy writes:
>
>> Tanay Abhra writes:
>>
>>> On 7/30/2014 7:43 PM, Matthieu Moy wrote:
* if (!values->items[i].string)
config_error_nonbool(
=> This check could be done once and for all in a function, say
On 7/31/2014 5:01 PM, Matthieu Moy wrote:
> Signed-off-by: Matthieu Moy
> ---
> Noticed while reviewing Tanay's patches, but this one is independant
> from his series, both syntactically and semantically.
>
> config.c | 20 ++--
> 1 file changed, 10 insertions(+), 10 deletions(-)
On 7/31/2014 4:52 PM, Matthieu Moy wrote:
> Tanay Abhra writes:
>
>> Signed-off-by: Tanay Abhra
>
> I think I deserve a bit of credit here ;-).
>
Yes, but to show credit would I have to write "from you" or
"signed-off-by"? :)
>> {
>> -return git_config_with_options(fn, data, NULL, 1);
Tanay Abhra writes:
> On 7/31/2014 4:52 PM, Matthieu Moy wrote:
>> Tanay Abhra writes:
>>
>>> Signed-off-by: Tanay Abhra
>>
>> I think I deserve a bit of credit here ;-).
>>
>
> Yes, but to show credit would I have to write "from you" or
> "signed-off-by"? :)
Original-patch-by: would be fine
Matthieu Moy writes:
> Tanay Abhra writes:
>
>> On 7/30/2014 7:43 PM, Matthieu Moy wrote:
>>> * if (!values->items[i].string)
>>> config_error_nonbool(
>>>
>>> => This check could be done once and for all in a function, say
>>> git_config_get_value_multi_nonbool, a trivial wrapper
On 30/07/14 17:45, Matthieu Moy wrote:
> Tanay Abhra writes:
>> Also, any thoughts on what to do with git_default_config()? We can,
>>
>> 1> make a new function git_load_default_config(), use it for the rewrites.
>
> That seems the most sensible option. It could be called it git.c before
> the co
Matthieu Moy writes:
> Tanay Abhra writes:
>
>> Signed-off-by: Tanay Abhra
>
> I think I deserve a bit of credit here ;-).
>
>> {
>> -return git_config_with_options(fn, data, NULL, 1);
>> +if (git_config_with_options(fn, data, NULL, 1) < 0)
>> +/*
>> + * git_con
Signed-off-by: Matthieu Moy
---
Noticed while reviewing Tanay's patches, but this one is independant
from his series, both syntactically and semantically.
config.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/config.c b/config.c
index a191328..76eeb6
Tanay Abhra writes:
> + if (!kv_info->linenr)
> + die("unable to parse '%s' from command-line config", key);
> + else
> + die("bad config variable '%s' at file line %d in %s",
And two more missing _(...).
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To un
Tanay Abhra writes:
> + if (!kv_info->linenr)
> + die("unable to parse '%s' from command-line
> config", entry->key);
> + else
> + die("bad config variable '%s' at file line %d
> in %s",
Also two mi
Tanay Abhra writes:
> Signed-off-by: Tanay Abhra
I think I deserve a bit of credit here ;-).
> {
> - return git_config_with_options(fn, data, NULL, 1);
> + if (git_config_with_options(fn, data, NULL, 1) < 0)
> + /*
> + * git_config_with_options() normally retu
On Thu, Jul 31, 2014 at 12:51 AM, Junio C Hamano wrote:
> Nguyễn Thái Ngọc Duy writes:
>
>> The series has entered 'next' so I can't replace patches any more.
>> Besides the brown paper bag fixes, checkout now rejects if a branch is
>> already checked out elsewhere.
>
> I do not think we would wa
On Thu, Jul 31, 2014 at 10:01 AM, Yue Lin Ho wrote:
> Hi:
> How do I trace these patches applied?
They are not applied yet. I'll needto redo them on top of rs/strbuf-getcwd.
--
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel
[PATCH v5]: New patch added (3/7). git_config() now returns void.
[PATCH v4]: One style nit corrected, also added key to error messages.
Diff with v3 at the bottom for easy review.
[PATCH V3]:All the suggestions in [3] applied. Built on top of [1].
[PATCH V2]: All the suggestions in [2]
Add `git_die_config` that dies printing the line number and the file name
of the highest priority value for the configuration variable `key`.
It has usage in non-callback based config value retrieval where we can
raise an error and die if there is a semantic error.
For example,
if (!git_c
Of all the functions in `git_config*()` family, `git_config()` has the
most invocations in the whole code base. Each `git_config()` invocation
causes config file rereads which can be avoided using the config-set API.
Use the config-set API to rewrite `git_config()` to use the config caching
layer
Semantic errors (for example, for alias.* variables NULL values are
not allowed) in configuration files cause a die printing the line
number and file name of the offending value.
Add a test documenting that such errors cause a die printing the
accurate line number and file name.
Signed-off-by: Ta
Store file name and line number for each key-value pair in the cache
during parsing of the configuration files.
Signed-off-by: Tanay Abhra
---
config.c | 21 +++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/config.c b/config.c
index ed5fc8e..4a15383 100644
---
From: Matthieu Moy
If a callback returns a negative value to `git_config*()` family,
they call `die()` while printing the line number and the file name.
Currently the printed line number is off by one, thus printing the
wrong line number.
Make `linenr` point to the line we just parsed during the
Add tests for `git_config_get_string_const()`, check whether it
dies printing the line number and the file name if a NULL
value is retrieved for the given key.
Signed-off-by: Tanay Abhra
---
t/t1308-config-set.sh | 10 ++
test-config.c | 10 ++
2 files changed, 20 inserti
Currently `git_config()` returns an integer signifying an error code.
During a previous rewrite of the function most of the code was shifted
to `git_config_with_options()`. `git_config_with_options()` normally
returns positive values if its `config_source` parameter is set as NULL,
as most errors a
Some MUAs delete their "drafts" folder when it is empty, so
git imap-send should be able to create it if necessary.
This change checks that the folder exists immediately after
login and tries to create it if it is missing.
There was some vestigial code to handle a [TRYCREATE] response
from the se
Explicitly mention that leaving imap.authMethod unset makes
git imap-send use the basic IMAP plaintext LOGIN command.
Signed-off-by: Tony Finch
---
Documentation/git-imap-send.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Documentation/git-imap-send.txt b/Documentatio
Junio C Hamano wrote:
>
> Both patches make sense to me, but can you please sign-off your
> patches?
Oops, sorry about that. Re-roll on its way...
Tony.
--
f.anthony.n.finchhttp://dotat.at/
Thames, Dover: Southwest 4 or 5, increasing 6 at times. Slight or moderate.
Fair. Good.
--
To unsubsc
82 matches
Mail list logo