Am 9/2/2013 10:54, schrieb Joergen Edelbo:
> Changes done:
>
> Remove selection of branches to push - push always HEAD.
> This can be justified by the fact that this far the most
> common thing to do.
What are your plans to support a topic-based workflow? "Far the most
common thing to happen" is
Jens Lehmann writes:
> Am 04.09.2013 08:31, schrieb Matthieu Moy:
>> "brian m. carlson" writes:
>>
>>> Tests are included which verify that this change has no effect on git
>>> submodule
>>> summary without the --for-status option.
>>
>> I still don't understand why this is needed.
>
> To avo
Jens Lehmann writes:
> Am 04.09.2013 21:19, schrieb Junio C Hamano:
>> Matthieu Moy writes:
>>
>>> Junio C Hamano writes:
>>>
* mm/status-without-comment-char (2013-08-29) 5 commits
- status: introduce status.displayCommentChar to disable display of #
- SQUASH: do not fprintf(
Hi,
On Mon, Sep 02, 2013 at 10:54:19AM +0200, Joergen Edelbo wrote:
> Problem: It is not possible to push for Gerrit review
> as you will always try to push to /refs/heads/... on
> the remote. As you should not be forced to work on a
> branch with the same name as some branch on the remote,
> some
Let's start actually parsing pack v4 data. Here's the first item.
Signed-off-by: Nicolas Pitre
---
Makefile | 1 +
packv4-parse.c | 30 ++
2 files changed, 31 insertions(+)
create mode 100644 packv4-parse.c
diff --git a/Makefile b/Makefile
index 4716113..ba6
The SHA1 of the base object is retrieved and the corresponding object
is loaded in memory for pv4_encode_tree() to look at. Simple but
effective. Obviously this relies on the delta matching already performed
during the pack v3 delta search. Some native delta search for pack v4
could be investiga
Let's create another dictionary table to hold the author and committer
entries. We use the same table format used for tree entries where the
16 bit data prefix is conveniently used to store the timezone value.
In order to copy straight from a commit object buffer, dict_add_entry()
is modified to
Blob and tag objects have no particular changes except for their object
header.
Delta objects are also copied as is, except for their delta base reference
which is converted to the new way as used elsewhere in pack v4 encoding
i.e. an index into the SHA1 table or a literal SHA1 prefixed by 0 if no
A bit crud but good enough for now.
Signed-off-by: Nicolas Pitre
---
cache.h | 1 +
pack-check.c| 4 +++-
pack-revindex.c | 7 ---
sha1_file.c | 56 ++--
4 files changed, 58 insertions(+), 10 deletions(-)
diff --git a/ca
Make sure the copy sequence is smaller than the list of tree entries it
is meant to replace. We do so by encoding tree entries in parallel with
the delta entry comparison, and then comparing the length of both
sequences.
Signed-off-by: Nicolas Pitre
---
packv4-create.c | 65
This goes as follows:
- Number of tree entries: variable length encoded.
Then for each tree entry:
- Path component reference: variable length encoded index into the path
dictionary table which also covers the entry mode. To make the overall
encoding efficient, the path table is already sort
Signed-off-by: Nicolas Pitre
---
packv4-create.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/packv4-create.c b/packv4-create.c
index c23c791..fd16222 100644
--- a/packv4-create.c
+++ b/packv4-create.c
@@ -13,6 +13,7 @@
#include "tree-walk.h"
#include "pack.h"
#include "pack
Signed-off-by: Nicolas Pitre
---
cache.h | 1 +
sha1_file.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/cache.h b/cache.h
index 85b544f..b6634c4 100644
--- a/cache.h
+++ b/cache.h
@@ -1160,6 +1160,7 @@ struct object_info {
} u;
};
extern int sha1_object_
For this we need the pack version. However only open_packed_git_1() has
been audited for pack v4 so far, hence the version validation is not
added to pack_version_ok() just yet.
Signed-off-by: Nicolas Pitre
---
cache.h | 1 +
sha1_file.c | 14 --
2 files changed, 13 insertions(
Signed-off-by: Nicolas Pitre
---
packv4-create.c | 73 +++--
1 file changed, 34 insertions(+), 39 deletions(-)
diff --git a/packv4-create.c b/packv4-create.c
index 22cdf8e..c23c791 100644
--- a/packv4-create.c
+++ b/packv4-create.c
@@ -956,56 +
Usage of snprintf() is possibly not the most efficient approach.
For example we could simply copy the needed strings and generate
the SHA1 hex strings directly into the destination buffer. But
such optimizations may come later.
Signed-off-by: Nicolas Pitre
---
packv4-parse.c | 74 ++
Signed-off-by: Nicolas Pitre
---
packv4-create.c | 58 +++--
1 file changed, 44 insertions(+), 14 deletions(-)
diff --git a/packv4-create.c b/packv4-create.c
index 5c08871..20d97a4 100644
--- a/packv4-create.c
+++ b/packv4-create.c
@@ -261,7 +2
At least commit af25e94d4dcfb9608846242fabdd4e6014e5c9f0 in the Linux
kernel repository has "author <> 1120285620 -0700"
Signed-off-by: Nicolas Pitre
---
packv4-create.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/packv4-create.c b/packv4-create.c
index 45f8427..a9
In pack v4 the object size and type is encoded differently from pack v3.
The object size uses the same efficient variable length number encoding
already used elsewhere.
The object type has 4 bits allocated to it compared to 3 bits in pack v3.
This should be quite sufficient for the foreseeable fut
Let's read a pack to feed our dictionary with all the path strings
contained in all the tree objects.
Dump the resulting dictionary sorted by frequency to stdout.
Signed-off-by: Nicolas Pitre
---
Makefile| 1 +
packv4-create.c | 137
This adds the missing code to finally be able to produce a complete
pack file version 4. We trap commit and tree objects as those have
a completely new encoding. Other object types are copied almost
unchanged.
As we go the pack index entries are updated in place to store the new
object offsets
Let's create a struct pack_idx_entry list with sorted sha1 which will
be useful later. The offset sorted list is now a separate indirect
list.
Signed-off-by: Nicolas Pitre
---
packv4-create.c | 72 +
1 file changed, 42 insertions(+), 30 de
Augment dict entries with a 16-bit prefix in order to store the file
mode value of tree entries.
Signed-off-by: Nicolas Pitre
---
packv4-create.c | 56
1 file changed, 36 insertions(+), 20 deletions(-)
diff --git a/packv4-create.c b/packv
The SHA1 reference is either an index into a SHA1 table using the variable
length number encoding, or the literal 20 bytes SHA1 prefixed with a 0.
The index 0 discriminates between an actual index value or the literal
SHA1. Therefore when the index is used its value must be increased by 1.
Signe
In order to be able to quickly walk tree objects, let's encode their
"delta" as a range of entries into another tree object.
In order to discriminate between a copy sequence from a regular entry,
the entry index LSB is reserved to indicate a copy sequence. Therefore
the actual index of a path com
Let's actually open the destination pack file and write the header and
the tables.
The header isn't much different from pack v3, except for the pack version
number of course.
The first table is the sorted SHA1 table normally found in the pack index
file. With pack v4 we write this table in the m
This is like get_sha1_hex() but stricter in accepting lowercase letters
only.
Signed-off-by: Nicolas Pitre
---
cache.h | 3 +++
hex.c | 11 +++
2 files changed, 14 insertions(+)
diff --git a/cache.h b/cache.h
index b6634c4..4231dfa 100644
--- a/cache.h
+++ b/cache.h
@@ -850,8 +850,11
Signed-off-by: Nicolas Pitre
---
packv4-create.c | 137
1 file changed, 137 insertions(+)
create mode 100644 packv4-create.c
diff --git a/packv4-create.c b/packv4-create.c
new file mode 100644
index 000..2de6d41
--- /dev/null
+++ b/pa
This is a minor change over pack index v2. Since pack v4 already contains
the sorted SHA1 table, it is therefore ommitted from the index file.
Signed-off-by: Nicolas Pitre
---
pack-write.c| 6 +-
packv4-create.c | 10 +-
2 files changed, 14 insertions(+), 2 deletions(-)
diff -
Signed-off-by: Nicolas Pitre
---
packv4-create.c | 19 +++
1 file changed, 19 insertions(+)
diff --git a/packv4-create.c b/packv4-create.c
index c8d3053..45f8427 100644
--- a/packv4-create.c
+++ b/packv4-create.c
@@ -16,6 +16,7 @@
#include "varint.h"
+static int pack_compres
This goes as follows:
- Tree reference: either variable length encoding of the index
into the SHA1 table or the literal SHA1 prefixed by 0 (see
encode_sha1ref()).
- Parent count: variable length encoding of the number of parents.
This is normally going to occupy a single byte but doesn't ha
Here's the code to dump a table into a pack. Table entries are written
according to the current sort order. This is important as objects use
this order to index into the table.
Signed-off-by: Nicolas Pitre
---
packv4-create.c | 49 +
1 file change
... replacing the equivalent open coded loop.
Signed-off-by: Nicolas Pitre
---
sha1_file.c | 14 +++---
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/sha1_file.c b/sha1_file.c
index a298933..67eb903 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -1687,20 +1687,12 @@ stati
There is only one type of delta with pack v4. The base reference
encoding already handles either an offset (via the pack index) or a
literal SHA1.
We assume in the literal SHA1 case that the object lives in the same
pack, just like with previous pack versions.
Signed-off-by: Nicolas Pitre
---
Signed-off-by: Nicolas Pitre
---
Makefile | 1 +
packv4-parse.c | 1 +
packv4-parse.h | 7 +++
sha1_file.c| 10 ++
4 files changed, 19 insertions(+)
create mode 100644 packv4-parse.h
diff --git a/Makefile b/Makefile
index ba6cafc..22fc276 100644
--- a/Makefile
+++ b/Mak
Because there is no delta object cache for tree objects yet, walking
tree entries may result in a lot of recursion.
Let's add --min-tree-copy=N where N is the minimum number of copied
entries in a single copy sequence allowed for encoding tree deltas.
The default is 1. Specifying 0 disables tree d
For now we recreate the whole tree object in its canonical form.
Eventually, the core code should grow some ability to walk packv4 tree
entries directly which would be way more efficient. Not only would that
avoid double tree entry parsing, but the pack v4 encoding allows for
getting at child obj
If the path or name index is zero, this means the entry data is to be
found inline rather than being located in the dictionary table. This is
there to allow easy completion of thin packs without having to add new
table entries which would have required a full rewrite of the pack data.
Signed-off-b
Signed-off-by: Nicolas Pitre
---
packv4-parse.c | 25 +
packv4-parse.h | 2 ++
sha1_file.c| 2 +-
3 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/packv4-parse.c b/packv4-parse.c
index 04eab46..4c218d2 100644
--- a/packv4-parse.c
+++ b/packv4-parse.c
@@
Because the path dictionary table is located right after the name
dictionary table, we currently need to load the later to find the
former.
Signed-off-by: Nicolas Pitre
---
cache.h| 2 ++
packv4-parse.c | 36
2 files changed, 38 insertions(+)
diff -
Signed-off-by: Nicolas Pitre
---
packv4-parse.c | 77 ++
1 file changed, 77 insertions(+)
diff --git a/packv4-parse.c b/packv4-parse.c
index 299fc48..26894bc 100644
--- a/packv4-parse.c
+++ b/packv4-parse.c
@@ -28,3 +28,80 @@ const unsigned
The name dictionary is loaded if not already done. We know it is
located right after the SHA1 table (20 bytes per object) which is
itself right after the 12-byte header.
Then the index is parsed from the input buffer and a pointer to the
corresponding entry is returned.
Signed-off-by: Nicolas Pi
After the initial posting here:
http://news.gmane.org/group/gmane.comp.version-control.git/thread=233061
This is a repost plus the basic read side working, at least to validate
the write side and the pack format itself. And many many bug fixes.
This can also be fetched here:
git://git.lina
On Thu, 5 Sep 2013, Duy Nguyen wrote:
> On Thu, Sep 5, 2013 at 11:40 AM, Nicolas Pitre wrote:
> > On Thu, 5 Sep 2013, Duy Nguyen wrote:
> >
> >> On Thu, Sep 5, 2013 at 11:12 AM, Nicolas Pitre wrote:
> >> > Many other bugs have now been fixed. A git.git repository with packs
> >> > version 4 app
On Thu, Sep 5, 2013 at 11:40 AM, Nicolas Pitre wrote:
> On Thu, 5 Sep 2013, Duy Nguyen wrote:
>
>> On Thu, Sep 5, 2013 at 11:12 AM, Nicolas Pitre wrote:
>> > Many other bugs have now been fixed. A git.git repository with packs
>> > version 4 appears to be functional and passes git-fsck --full --
On Thu, 5 Sep 2013, Duy Nguyen wrote:
> On Thu, Sep 5, 2013 at 11:12 AM, Nicolas Pitre wrote:
> > Many other bugs have now been fixed. A git.git repository with packs
> > version 4 appears to be functional and passes git-fsck --full --strict.
>
> Yeah I was looking at the diff some minutes ago,
On Thu, Sep 5, 2013 at 11:12 AM, Nicolas Pitre wrote:
> Many other bugs have now been fixed. A git.git repository with packs
> version 4 appears to be functional and passes git-fsck --full --strict.
Yeah I was looking at the diff some minutes ago, saw changes in
pack-check.c and wondering if fsc
On Tue, 3 Sep 2013, Duy Nguyen wrote:
> On Tue, Sep 3, 2013 at 6:49 PM, Duy Nguyen wrote:
> > On Tue, Sep 3, 2013 at 1:46 PM, Nicolas Pitre wrote:
> >> So... looks like pack v4 is now "functional".
> >>
> >> However something is still wrong as it operates about 6 times slower
> >> than pack v3.
On Tue, 3 Sep 2013, Duy Nguyen wrote:
> On Tue, Sep 3, 2013 at 1:30 PM, Nicolas Pitre wrote:
> > On Tue, 3 Sep 2013, Duy Nguyen wrote:
> >
> >> On Tue, Aug 27, 2013 at 11:25 AM, Nicolas Pitre wrote:
> >> > This goes as follows:
> >> >
> >> > - Tree reference: either variable length encoding of t
From: Johannes Sixt
Back in 21e9757e (Hack git-add--interactive to make it work with
ActiveState Perl, 2007-08-01), the invocation of external commands was
changed to use qx{} on Windows. The rationale was that the command
interpreter on Windows is not a POSIX shell, but rather Windows's CMD.
Tha
:(prefix) is in the long form. Suppose people pass :!foo with '!'
being the short form of magic 'bar', the code will happily turn it to
:(prefix..)!foo, which makes '!' part of the path and no longer a magic.
The correct form must be ':(prefix..,bar)foo', but as so far we
haven't had any magic in
Since 480ca64 (convert run_add_interactive to use struct pathspec -
2013-07-14), we have unconditionally passed :(prefix)xxx to
add-interactive.perl. It implies that all commands
add-interactive.perl calls must be aware of pathspec magic, or
:(prefix) is barfed. The restriction to :/ only becomes u
i have a business proposal for you, write me back for more info.
-Sent from my ipad.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
"Philip Oakley" writes:
> From: "Junio C Hamano"
>> John Keeping writes:
>>
>>> I think there are two distinct uses for pull, which boil down to:
>>>
>>> (1) git pull
>> ...
>> Peff already covered (1)---it is highly doubtful that a merge is
>> "almost always wrong". In fact, if that _were
There are a handful of instances where we say commmit when we mean
commit. Fix them.
Signed-off-by: Junio C Hamano
---
notes-utils.h | 2 +-
t/t3509-cherry-pick-merge-df.sh | 2 +-
t/t6022-merge-rename.sh | 14 +++---
3 files changed, 9 insertions(+), 9 delet
Richard Hansen writes:
> On 2013-09-03 18:46, Junio C Hamano wrote:
>> I hate to say this after seeing you doing a thorough job in this
>> series, but because "tree-ish" and "commit-ish" are both made-up
>> words, I have a feeling that we are better off unifying to the
>> dashed form, which unfor
From: "Junio C Hamano"
John Keeping writes:
I think there are two distinct uses for pull, which boil down to:
(1) git pull
(2) git pull $remote $branch
For (1) a merge is almost always the wrong thing to do since it will
be
backwards and break --first-parent.
But for (2) a merge
Brad King writes:
> Nothing else uses LF NUL. I chose it as a starting point for
> this very discussion, which I asked about in $gmane/233653.
The primary reason why LF raised my eyebrow was because the reason
why many subcommands use "-z" (and NUL) is often because the payload
may have LF in a
Am 04.09.2013 22:57, schrieb Junio C Hamano:
> Jens Lehmann writes:
>
>> Am 03.09.2013 21:53, schrieb Junio C Hamano:
>>> Does this update to 2/2 look good to you? Sorry, but I lost track
>>> of the discussion that led to this reroll, hence a ping.
>>
>> v3 fixes the bug Matthieu noticed, I only
Christian Couder writes:
> Signed-off-by: Christian Couder
> ---
> Documentation/git-replace.txt | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/Documentation/git-replace.txt b/Documentation/git-replace.txt
> index a2bd2ee..414000e 100644
> --- a/Documentation/git-replace.txt
> +++
Am 04.09.2013 08:31, schrieb Matthieu Moy:
> "brian m. carlson" writes:
>
>> Tests are included which verify that this change has no effect on git
>> submodule
>> summary without the --for-status option.
>
> I still don't understand why this is needed.
To avoid a change in behavior for "git su
Christian Couder writes:
> Signed-off-by: Christian Couder
> ---
> Documentation/git-replace.txt | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/git-replace.txt b/Documentation/git-replace.txt
> index 736b48c..a2bd2ee 100644
> --- a/Documentation/git-re
Am 04.09.2013 21:19, schrieb Junio C Hamano:
> Matthieu Moy writes:
>
>> Junio C Hamano writes:
>>
>>> * mm/status-without-comment-char (2013-08-29) 5 commits
>>> - status: introduce status.displayCommentChar to disable display of #
>>> - SQUASH: do not fprintf() random strings
>>> - get rid
Christian Couder writes:
> If -f option, which means '--force', is used, we can allow an object
> to be replaced with one of a different type, as the user should know
> what (s)he is doing.
>
> Signed-off-by: Christian Couder
> ---
This does not matter in a larger picture, but between 1/11 and
Christian Couder writes:
> Signed-off-by: Christian Couder
> ---
> Documentation/git-replace.txt | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/git-replace.txt b/Documentation/git-replace.txt
> index 736b48c..a2bd2ee 100644
> --- a/Documentation/git-re
Jens Lehmann writes:
> Am 03.09.2013 21:53, schrieb Junio C Hamano:
>> Jens, I see 1/2 is the same as the previous one you already acked.
>
> Yep.
>
>> Does this update to 2/2 look good to you? Sorry, but I lost track
>> of the discussion that led to this reroll, hence a ping.
>
> v3 fixes the b
Christian Couder writes:
> Signed-off-by: Christian Couder
> ---
> t/t6050-replace.sh | 13 +
> 1 file changed, 13 insertions(+)
>
> diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh
> index decdc33..5c352c4 100755
> --- a/t/t6050-replace.sh
> +++ b/t/t6050-replace.sh
> @@ -263,4
On 09/04/2013 02:23 PM, Junio C Hamano wrote:
> "whitespace-separated" implies that we may allow fields separated with not a
> single SP, but with double SPs or even HTs between them. I personally do not
> think we should be so loose
Okay, I will look at making it more strict. See proposed form
Am 03.09.2013 21:53, schrieb Junio C Hamano:
> Jens, I see 1/2 is the same as the previous one you already acked.
Yep.
> Does this update to 2/2 look good to you? Sorry, but I lost track
> of the discussion that led to this reroll, hence a ping.
v3 fixes the bug Matthieu noticed, I only had som
Matthieu Moy writes:
> Junio C Hamano writes:
>
>> * mm/status-without-comment-char (2013-08-29) 5 commits
>> - status: introduce status.displayCommentChar to disable display of #
>> - SQUASH: do not fprintf() random strings
>> - get rid of "git submodule summary --for-status"
>> - wt-status
On 09/04/2013 03:17 PM, Junio C Hamano wrote:
> Brad King writes:
>> +static void update_refs_stdin_read_n()
>> +static void update_refs_stdin_read_z()
>
> These need to be defined with explicit (void) argument list.
Oops, fixed.
Thanks,
-Brad
--
To unsubscribe from this list: send the line "un
Brad King writes:
> +static void update_refs_stdin_read_n()
> +{
> + struct strbuf line = STRBUF_INIT;
> +
> + while (strbuf_getline(&line, stdin, '\n') != EOF)
> + update_refs_stdin_parse_line(line.buf);
> +
> + strbuf_release(&line);
> +}
> +
> +static void update_refs_s
Jeff King writes:
> On Wed, Sep 04, 2013 at 10:38:03AM -0700, Junio C Hamano wrote:
>
>> >> This is way off tangent, but I am somewhat sympathetic to Felipe's
>> >> "compare actual with expect", with reservations.
>> >
>> > This isn't an argument either way, but note that JUnit (and NUnit and
>>
Replace 'committish' in documentation and comments with 'commit-ish'
to match gitglossary(7) and to be consistent with 'tree-ish'.
The only remaining instances of 'committish' are:
* variable, function, and macro names
* "(also committish)" in the definition of commit-ish in
gitglossary[7]
Replace 'treeish' in documentation and comments with 'tree-ish' to
match gitglossary(7).
The only remaining instances of 'treeish' are:
* variable, function, and macro names
* "(also treeish)" in the definition of tree-ish in gitglossary(7)
Signed-off-by: Richard Hansen
---
Documentation/Re
Signed-off-by: Richard Hansen
---
Documentation/glossary-content.txt | 12
1 file changed, 12 insertions(+)
diff --git a/Documentation/glossary-content.txt
b/Documentation/glossary-content.txt
index 0273095..47e901e 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentatio
Signed-off-by: Richard Hansen
---
Documentation/glossary-content.txt | 18 ++
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/Documentation/glossary-content.txt
b/Documentation/glossary-content.txt
index 3466ce9..7ad13e1 100644
--- a/Documentation/glossary-content.
If possible, will be dereferenced even if it is not a tag type
(e.g., commit dereferenced to a tree).
Signed-off-by: Richard Hansen
---
Documentation/revisions.txt | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/Documentation/revisions.txt b/Documentation/revisi
On 2013-09-03 18:46, Junio C Hamano wrote:
> I hate to say this after seeing you doing a thorough job in this
> series, but because "tree-ish" and "commit-ish" are both made-up
> words, I have a feeling that we are better off unifying to the
> dashed form, which unfortunately is the other way aroun
A tree-ish isn't a ref. Also, mention dereferencing, and that a
commit dereferences to a tree, to support gitrevisions(7) and
rev-parse's error messages.
Signed-off-by: Richard Hansen
---
Documentation/glossary-content.txt | 15 ---
1 file changed, 12 insertions(+), 3 deletions(-)
The documentation contains a mix of the two spellings, so include both
in the glossary so that a search for either will lead to the
definition.
Signed-off-by: Richard Hansen
---
Documentation/glossary-content.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/g
On Wed, Sep 04, 2013 at 10:38:03AM -0700, Junio C Hamano wrote:
> >> This is way off tangent, but I am somewhat sympathetic to Felipe's
> >> "compare actual with expect", with reservations.
> >
> > This isn't an argument either way, but note that JUnit (and NUnit and
> > PHPUnit) all have assertEq
Brad King writes:
> +With `--stdin`, update-ref reads instructions from standard input and
> +performs all modifications together. Empty lines are ignored.
> +Each non-empty line is parsed as whitespace-separated arguments.
"whitespace-separated" implies that we may allow fields separated
with
On Wed, Sep 4, 2013 at 3:20 PM, Dirk Heinrichs wrote:
> Am Mittwoch, 4. September 2013, 13:11:39 schrieben Sie:
>
>> this is not an error but intention. From Git 1.8.4, the German translation
>> switches from pure German to German+English. For me the most important
>> reasons for that are that ter
John Keeping writes:
> On Wed, Sep 04, 2013 at 09:47:12AM -0700, Junio C Hamano wrote:
>> Jonathan Nieder writes:
>>
>> > test_cmp_rev follows the same order of arguments a "diff -u" and
>> > produces the same output as plain "git diff". It's perfectly readable
>> > and normal.
>>
>> This is
John Keeping writes:
> I think there are two distinct uses for pull, which boil down to:
>
> (1) git pull
> (2) git pull $remote $branch
>
> For (1) a merge is almost always the wrong thing to do since it will be
> backwards and break --first-parent.
>
> But for (2) a merge is almost alwa
Felipe Contreras writes:
> On Tue, Sep 3, 2013 at 5:59 PM, Junio C Hamano wrote:
>> Felipe Contreras writes:
>>
>>> On Tue, Sep 3, 2013 at 2:32 PM, Junio C Hamano wrote:
Felipe Contreras writes:
>>>
> test_expect_success 'refuse --edit-description on unborn branch for now'
> '
On Wed, Sep 04, 2013 at 09:47:12AM -0700, Junio C Hamano wrote:
> Jonathan Nieder writes:
>
> > test_cmp_rev follows the same order of arguments a "diff -u" and
> > produces the same output as plain "git diff". It's perfectly readable
> > and normal.
>
> This is way off tangent, but I am somewh
John Keeping writes:
> On Tue, Sep 03, 2013 at 03:38:58PM -0700, Junio C Hamano wrote:
>> Felipe Contreras writes:
>>
>> > On Tue, Sep 3, 2013 at 12:21 PM, Junio C Hamano wrote:
>> >> Felipe Contreras writes:
>> >>
>> >>> Junio already sent a similar patch, but I think this is simpler.
>> >>
Jonathan Nieder writes:
> test_cmp_rev follows the same order of arguments a "diff -u" and
> produces the same output as plain "git diff". It's perfectly readable
> and normal.
This is way off tangent, but I am somewhat sympathetic to Felipe's
"compare actual with expect", with reservations.
I
Factor loose ref deletion into helper function delete_ref_loose to allow
later use elsewhere.
Signed-off-by: Brad King
---
refs.c | 27 +--
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/refs.c b/refs.c
index 4347826..ab9d22e 100644
--- a/refs.c
+++ b/ref
Add a --stdin signature to read update instructions from standard input
and apply multiple ref updates together. Use an input format that
supports any update that could be specified via the command-line,
including object names like "branch:path with space".
Signed-off-by: Brad King
---
Document
The function resets refs rather than doing arbitrary updates.
Rename it to allow a future general-purpose update_refs function
to be added.
Signed-off-by: Brad King
---
builtin/reset.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/builtin/reset.c b/builtin/reset.c
index
Expose lock_ref_sha1_basic's type_p argument to callers of
lock_any_ref_for_update. Update all call sites to ignore it by passing
NULL for now.
Signed-off-by: Brad King
---
branch.c | 2 +-
builtin/commit.c | 2 +-
builtin/fetch.c| 3 ++-
builtin/receive-pack.c | 3 +
Hi Folks,
Here is the fourth revision of a series to support locking multiple
refs at the same time to update all of them consistently. The
previous revisions of the series can be found at $gmane/233260,
$gmane/233458, and $gmane/233647.
Updates since the previous revision of the series:
* Patc
Add 'struct ref_update' to encode the information needed to update or
delete a ref (name, new sha1, optional old sha1, no-deref flag). Add
function 'update_refs' accepting an array of updates to perform. First
sort the input array to order locks consistently everywhere and reject
multiple updates
Extend t/t1400-update-ref.sh to cover cases using the --stdin option.
Signed-off-by: Brad King
---
t/t1400-update-ref.sh | 445 ++
1 file changed, 445 insertions(+)
diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
index e415ee0..e8ba0d2
Generalize repack_without_ref as repack_without_refs to support a list
of refs and implement the former in terms of the latter.
Signed-off-by: Brad King
---
refs.c | 33 -
1 file changed, 24 insertions(+), 9 deletions(-)
diff --git a/refs.c b/refs.c
index ab9d22e
Factor the lock and write steps and error handling into helper functions
update_ref_lock and update_ref_write to allow later use elsewhere.
Expose lock_any_ref_for_update's type_p to update_ref_lock callers.
While at it, drop "static" from the local "lock" variable as it is not
necessary to keep a
Problem: It is not possible to push for Gerrit review
as you will always try to push to /refs/heads/... on
the remote. As you should not be forced to work on a
branch with the same name as some branch on the remote,
some more flexibility in the selection of destination
branch is also needed.
Chang
1 - 100 of 126 matches
Mail list logo