* Re: Problem with cg-clone
From: Linus Torvalds @ 2005-10-29 19:57 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Marcel Holtmann, git
In-Reply-To: <7vacgs157c.fsf@assigned-by-dhcp.cox.net>
On Sat, 29 Oct 2005, Junio C Hamano wrote:
>
> Marcel Holtmann <marcel@holtmann.org> writes:
>
> > Previously this was working fine and since cogito hasn't changed the
> > last few days, I suspect that git is at fault here or changed something.
> > Any ideas?
>
> I think I know what is going on.
>
> git-init-db does not create .git/objects/[0-9a-f]{2}/
> directories anymore, but git-local-fetch has not taught to
> create them on demand.
Here's a quick hack, totally untested, of course.
More properly it should use move_temp_to_file(), but if you're about to do
a v0.99.9 release, maybe this could be good enough.
Linus
---
diff --git a/local-fetch.c b/local-fetch.c
index 87a93de..21f5bf8 100644
--- a/local-fetch.c
+++ b/local-fetch.c
@@ -52,9 +52,20 @@ static int setup_indices(void)
return 0;
}
-static int copy_file(const char *source, const char *dest, const char *hex,
+static int copy_file(const char *source, char *dest, const char *hex,
int warn_if_not_exists)
{
+ char *dir = strrchr(dest, '/');
+
+ if (dir) {
+ *dir = 0;
+ if (mkdir(dir, 0777)) {
+ if (errno != EEXIST)
+ perror(dir);
+ }
+ *dir = '/';
+ }
+
if (use_link) {
if (!link(source, dest)) {
pull_say("link %s\n", hex);
@@ -150,7 +161,7 @@ static int fetch_file(const unsigned cha
static int object_name_start = -1;
static char filename[PATH_MAX];
char *hex = sha1_to_hex(sha1);
- const char *dest_filename = sha1_file_name(sha1);
+ char *dest_filename = sha1_file_name(sha1);
if (object_name_start < 0) {
strcpy(filename, path); /* e.g. git.git */
^ permalink raw reply related
* Re: Problem with cg-clone
From: Junio C Hamano @ 2005-10-29 19:41 UTC (permalink / raw)
To: Marcel Holtmann; +Cc: git
In-Reply-To: <1130605726.5396.39.camel@blade>
Marcel Holtmann <marcel@holtmann.org> writes:
> Previously this was working fine and since cogito hasn't changed the
> last few days, I suspect that git is at fault here or changed something.
> Any ideas?
I think I know what is going on.
git-init-db does not create .git/objects/[0-9a-f]{2}/
directories anymore, but git-local-fetch has not taught to
create them on demand.
^ permalink raw reply
* Problem with cg-clone
From: Marcel Holtmann @ 2005-10-29 17:08 UTC (permalink / raw)
To: git
Hi guys,
I installed the latest git and cogito from their repositories and now
the local clone command is failing:
# cg-clone linux-2.6 test-2.6
defaulting to local storage area
Using hard links
`/data/kernel/linux-2.6/.git/HEAD' -> `.git/refs/heads/.origin-fetching'
error: Couldn't find 8a212ab6b8a4ccc6f3c3d1beba5f92655c576404: not separate or in any pack
Cannot obtain needed object 8a212ab6b8a4ccc6f3c3d1beba5f92655c576404
while processing commit 0000000000000000000000000000000000000000.
cg-fetch: objects fetch failed
cg-clone: fetch failed
Previously this was working fine and since cogito hasn't changed the
last few days, I suspect that git is at fault here or changed something.
Any ideas?
Regards
Marcel
^ permalink raw reply
* Re: [PATCH] Documentation changes to recursive option for git-diff-tree
From: Chris Shoemaker @ 2005-10-29 16:53 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
In-Reply-To: <7vy84c291u.fsf@assigned-by-dhcp.cox.net>
On Fri, Oct 28, 2005 at 10:20:45PM -0700, Junio C Hamano wrote:
> I already took some patches from you, but I just noticed this...
>
> Chris Shoemaker <c.shoemaker@cox.net> writes:
>
> > Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
>
> I do not particularly like this spelling out "at".
That resulted from GIT_AUTHOR_IDENT="c.shoemaker<at>cox.net". I think
I copied that format from somewhere, but I see now that the logs
contain regular addresses. I've changed it to just
"c.shoemaker@cox.net".
-chris
>
>
^ permalink raw reply
* Re: [PATCH] Minor clarifications in diffcore documentation
From: Chris Shoemaker @ 2005-10-29 16:49 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
In-Reply-To: <7v64rg3nuq.fsf@assigned-by-dhcp.cox.net>
On Fri, Oct 28, 2005 at 10:15:41PM -0700, Junio C Hamano wrote:
> I think with this change you wanted to say that a copy does not
> have to be a literal copy but a copy-edit. But if that is the
> case, I suspect that the similarity index would be slightly less
> than 100.
Indeed.
-chris
^ permalink raw reply
* Re: [PATCH] Documentation changes to recursive option for git-diff-tree
From: H. Peter Anvin @ 2005-10-29 16:24 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Chris Shoemaker, git
In-Reply-To: <7vy84c291u.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
> I already took some patches from you, but I just noticed this...
>
> Chris Shoemaker <c.shoemaker@cox.net> writes:
>
>
>>Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
>
>
> I do not particularly like this spelling out "at".
>
It also doesn't do any good. Spam harvesters have caught onto this one
a long time ago.
-hpa
^ permalink raw reply
* Re: [PATCH] Use LDFLAGS instead of ALL_CFLAGS when linking.
From: H. Peter Anvin @ 2005-10-29 16:24 UTC (permalink / raw)
To: Andreas Ericsson; +Cc: Git Mailing List
In-Reply-To: <4363250C.8030200@op5.se>
Andreas Ericsson wrote:
> The patch says it all really. It lets users specify their own linking
> options and unclutters the build-output somewhat.
>
> index 5b0306d..f547d45 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -360,7 +360,7 @@ git-cherry-pick: git-revert
> $(CC) -o $*.o -c $(ALL_CFLAGS) $<
>
> git-%$X: %.o $(LIB_FILE)
> - $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
> + $(CC) -o $@ $(filter %.o,$^) $(LIBS) $(LDFLAGS)
>
Typically $(LDFLAGS) comes before $(LIBS). This is not insignificant,
since some people put library seach options into LDFLAGS.
-hpa
^ permalink raw reply
* [PATCH] Use LDFLAGS instead of ALL_CFLAGS when linking.
From: Andreas Ericsson @ 2005-10-29 7:30 UTC (permalink / raw)
To: Git Mailing List
The patch says it all really. It lets users specify their own linking
options and unclutters the build-output somewhat.
index 5b0306d..f547d45 100644
--- a/Makefile
+++ b/Makefile
@@ -360,7 +360,7 @@ git-cherry-pick: git-revert
$(CC) -o $*.o -c $(ALL_CFLAGS) $<
git-%$X: %.o $(LIB_FILE)
- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
+ $(CC) -o $@ $(filter %.o,$^) $(LIBS) $(LDFLAGS)
git-mailinfo$X : SIMPLE_LIB += $(LIB_4_ICONV)
$(SIMPLE_PROGRAMS) : $(LIB_FILE)
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
^ permalink raw reply related
* Re: [PATCH] Documentation changes to recursive option for git-diff-tree
From: Junio C Hamano @ 2005-10-29 5:20 UTC (permalink / raw)
To: Chris Shoemaker; +Cc: git
In-Reply-To: <20051028170449.GA1446@pe.Belkin>
I already took some patches from you, but I just noticed this...
Chris Shoemaker <c.shoemaker@cox.net> writes:
> Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
I do not particularly like this spelling out "at".
^ permalink raw reply
* Re: [PATCH] Minor clarifications in diffcore documentation
From: Junio C Hamano @ 2005-10-29 5:15 UTC (permalink / raw)
To: c.shoemaker; +Cc: git
In-Reply-To: <E1EVi8D-0002TT-Ik@localhost>
c.shoemaker@cox.net writes:
> ------------------------------------------------
> :100644 100644 0123456... 1234567... M fileY
> -:000000 100644 0000000... 0123456... A file0
> +:000000 100644 0000000... bcd3456... A file0
> ------------------------------------------------
>
> the original contents of fileY and the resulting contents of
> @@ -154,14 +165,14 @@ changed to:
>
> ------------------------------------------------
> :100644 100644 0123456... 1234567... M fileY
> -:100644 100644 0123456... 0123456... C100 fileY file0
> +:100644 100644 0123456... bcd3456... C100 fileY file0
> ------------------------------------------------
I think with this change you wanted to say that a copy does not
have to be a literal copy but a copy-edit. But if that is the
case, I suspect that the similarity index would be slightly less
than 100.
If I misunderstood the reason of this change please let me know.
All patches, including this one, look fine to me. Thanks.
^ permalink raw reply
* Re: [PATCH] git-push.sh: Retain cuteness, add helpfulness.
From: Chris Shoemaker @ 2005-10-29 5:03 UTC (permalink / raw)
To: git
In-Reply-To: <E1EVi9d-0002U0-0k@localhost>
I'm sorry that the patch-set I just sent didn't contain an ordering.
The order is:
0002-Minor-clarifications-in-diffcore-documentation.txt
0003-Remove-r-from-common-diff-options-documentation-in-one-more-place.txt
0004-update-usage-string-for-git-commit.sh.txt
0005-Add-usage-statement-for-git-reset.sh.txt
0006-Add-usage-statement-to-git-push.sh.txt
0007-Actually-git-reset-arguments-are-mutually-exclusive.txt
0008-git-push.sh-Factor-out-usage-statement-to-function-explain-why-rsync-can-t-push.txt
0009-git-push.sh-Retain-cuteness-add-helpfulness.txt
I tried and failed to get git-send-email to work, so I tried to roll
my own and it didn't work that well. I'll try harder.
-chris
^ permalink raw reply
* Re: gitk shows an empty line between "Comments" and changed files
From: Pavel Roskin @ 2005-10-29 4:54 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Junio C Hamano, git
In-Reply-To: <Pine.LNX.4.64.0510282132120.3348@g5.osdl.org>
Quoting Linus Torvalds <torvalds@osdl.org>:
> On Sat, 29 Oct 2005, Pavel Roskin wrote:
> >
> > I understand the default behavior of git-diff-tree won't change, so I'll
> simply
> > strip the first line.
>
> Be careful, though. The merge case uses git-diff-tree differently, so I
> think there is no extra line for a merge.
Sure. Thanks.
--
Regards,
Pavel Roskin
^ permalink raw reply
* Re: gitk shows an empty line between "Comments" and changed files
From: Linus Torvalds @ 2005-10-29 4:33 UTC (permalink / raw)
To: Pavel Roskin; +Cc: Junio C Hamano, git
In-Reply-To: <20051029002357.iq88cg8gcsogk4kc@webmail.spamcop.net>
On Sat, 29 Oct 2005, Pavel Roskin wrote:
>
> I understand the default behavior of git-diff-tree won't change, so I'll simply
> strip the first line.
Be careful, though. The merge case uses git-diff-tree differently, so I
think there is no extra line for a merge.
Linus
^ permalink raw reply
* Re: gitk shows an empty line between "Comments" and changed files
From: Pavel Roskin @ 2005-10-29 4:23 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Junio C Hamano, git
In-Reply-To: <Pine.LNX.4.64.0510282003360.3348@g5.osdl.org>
Quoting Linus Torvalds <torvalds@osdl.org>:
> Note that git-patch-id will happily take a patch without the commit ID at
> the head, it just won't have a commit ID to match it up with. For such
> patches it will just spit it out with an all-zero commit-object-name.
>
> And that's very much by design.
[snip]
OK, if it's by design, I'll fix gitk only.
I understand the default behavior of git-diff-tree won't change, so I'll simply
strip the first line.
--
Regards,
Pavel Roskin
^ permalink raw reply
* [PATCH] git-push.sh: Retain cuteness, add helpfulness.
From: c.shoemaker @ 2005-10-29 4:17 UTC (permalink / raw)
Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
---
git-push.sh | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
a20e79837771edccdfae495983a9538a76c6ada8
diff --git a/git-push.sh b/git-push.sh
--- a/git-push.sh
+++ b/git-push.sh
@@ -33,7 +33,8 @@ do
done
case "$#" in
0)
- die "Where would you want to push today?" ;;
+ echo "Where would you want to push today?"
+ usage ;;
esac
. git-parse-remote
^ permalink raw reply
* [PATCH] git-push.sh: Factor out usage statement to function; explain why rsync can't push
From: c.shoemaker @ 2005-10-29 4:17 UTC (permalink / raw)
Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
---
git-push.sh | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
cc2f6f361691771cf461df04255a2b842b264371
diff --git a/git-push.sh b/git-push.sh
--- a/git-push.sh
+++ b/git-push.sh
@@ -1,6 +1,11 @@
#!/bin/sh
. git-sh-setup || die "Not a git archive"
+usage () {
+ die "Usage: git push [--all] [--force] <repository> [<refspec>]"
+}
+
+
# Parse out parameters and then stop at remote, so that we can
# translate it using .git/branches information
has_all=
@@ -18,8 +23,7 @@ do
--exec=*)
has_exec="$1" ;;
-*)
- die "Usage: git push [--all] [--force] <repository> <refspec>"
- ;;
+ usage ;;
*)
set x "$@"
shift
@@ -41,8 +45,10 @@ esac
shift
case "$remote" in
-http://* | https://* | git://* | rsync://* )
+http://* | https://* | git://*)
die "Cannot use READ-ONLY transport to push to $remote" ;;
+rsync://*)
+ die "Pushing with rsync transport is deprecated" ;;
esac
set x "$remote" "$@"; shift
^ permalink raw reply
* [PATCH] Actually, git-reset arguments are mutually exclusive.
From: c.shoemaker @ 2005-10-29 4:16 UTC (permalink / raw)
Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
---
git-reset.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
7f1c4f07629a1e4328341415e9949d333c718cc8
diff --git a/git-reset.sh b/git-reset.sh
--- a/git-reset.sh
+++ b/git-reset.sh
@@ -2,7 +2,7 @@
. git-sh-setup || die "Not a git archive"
usage () {
- die 'Usage: git reset [--mixed] [--soft] [--hard] [<commit-ish>]'
+ die 'Usage: git reset [--mixed | --soft | --hard] [<commit-ish>]'
}
tmp=/var/tmp/reset.$$
^ permalink raw reply
* [PATCH] Add usage statement to git-push.sh
From: c.shoemaker @ 2005-10-29 4:16 UTC (permalink / raw)
Also clarify failure to push to read-only remote.
Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
---
git-push.sh | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
c312de8ed8aad08a3cfa4b8edce025f30781a1c3
diff --git a/git-push.sh b/git-push.sh
--- a/git-push.sh
+++ b/git-push.sh
@@ -18,7 +18,8 @@ do
--exec=*)
has_exec="$1" ;;
-*)
- die "Unknown parameter $1" ;;
+ die "Usage: git push [--all] [--force] <repository> <refspec>"
+ ;;
*)
set x "$@"
shift
@@ -41,7 +42,7 @@ shift
case "$remote" in
http://* | https://* | git://* | rsync://* )
- die "Cannot push to $remote" ;;
+ die "Cannot use READ-ONLY transport to push to $remote" ;;
esac
set x "$remote" "$@"; shift
^ permalink raw reply
* [PATCH] Add usage statement for git-reset.sh
From: c.shoemaker @ 2005-10-29 4:16 UTC (permalink / raw)
Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
---
git-reset.sh | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
6bce396534f26c05d43bfb42d057465c4e564030
diff --git a/git-reset.sh b/git-reset.sh
--- a/git-reset.sh
+++ b/git-reset.sh
@@ -1,6 +1,10 @@
#!/bin/sh
. git-sh-setup || die "Not a git archive"
+usage () {
+ die 'Usage: git reset [--mixed] [--soft] [--hard] [<commit-ish>]'
+}
+
tmp=/var/tmp/reset.$$
trap 'rm -f $tmp-*' 0 1 2 3 15
@@ -10,6 +14,8 @@ case "$1" in
reset_type="$1"
shift
;;
+-*)
+ usage ;;
esac
rev=$(git-rev-parse --verify --default HEAD "$@") || exit
^ permalink raw reply
* [PATCH] update usage string for git-commit.sh
From: c.shoemaker @ 2005-10-29 4:16 UTC (permalink / raw)
Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
---
git-commit.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
5cc74c9e41a5458e25917e16f01000faae8f4b13
diff --git a/git-commit.sh b/git-commit.sh
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -6,7 +6,7 @@
. git-sh-setup || die "Not a git archive"
usage () {
- die 'git commit [-a] [-v | --no-verify] [-m <message>] [-F <logfile>] [(-C|-c) <commit>] [<path>...]'
+ die 'git commit [-a] [-s] [-v | --no-verify] [-m <message> | -F <logfile> | (-C|-c) <commit>] [-e] [<path>...]'
}
all= logfile= use_commit= no_edit= log_given= log_message= verify=t signoff=
^ permalink raw reply
* [PATCH] Remove -r from common diff options documentation in one more place
From: c.shoemaker @ 2005-10-29 4:16 UTC (permalink / raw)
Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
---
Documentation/diff-options.txt | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
77e622ef1f6b29fa8b76d5c4f96200cd4d6d82ab
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -4,10 +4,6 @@
-u::
Synonym for "-p".
--r::
- Look recursively in subdirectories; only used by "git-diff-tree";
- other diff commands always work recursively.
-
-z::
\0 line termination on output
^ permalink raw reply
* [PATCH] Minor clarifications in diffcore documentation
From: c.shoemaker @ 2005-10-29 4:15 UTC (permalink / raw)
Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
---
Documentation/diffcore.txt | 65 ++++++++++++++++++++++++++------------------
1 files changed, 38 insertions(+), 27 deletions(-)
805e13719e93be23d3e24e182d45056fab192a25
diff --git a/Documentation/diffcore.txt b/Documentation/diffcore.txt
--- a/Documentation/diffcore.txt
+++ b/Documentation/diffcore.txt
@@ -6,13 +6,12 @@ June 2005
Introduction
------------
-The diff commands git-diff-index, git-diff-files, and
-git-diff-tree can be told to manipulate differences they find
-in unconventional ways before showing diff(1) output. The
-manipulation is collectively called "diffcore transformation".
-This short note describes what they are and how to use them to
-produce diff outputs that are easier to understand than the
-conventional kind.
+The diff commands git-diff-index, git-diff-files, git-diff-tree, and
+git-diff-stages can be told to manipulate differences they find in
+unconventional ways before showing diff(1) output. The manipulation
+is collectively called "diffcore transformation". This short note
+describes what they are and how to use them to produce diff outputs
+that are easier to understand than the conventional kind.
The chain of operation
@@ -29,7 +28,10 @@ files:
- git-diff-files compares contents of the index file and the
working directory;
- - git-diff-tree compares contents of two "tree" objects.
+ - git-diff-tree compares contents of two "tree" objects;
+
+ - git-diff-stages compares contents of blobs at two stages in an
+ unmerged index file.
In all of these cases, the commands themselves compare
corresponding paths in the two sets of files. The result of
@@ -65,14 +67,23 @@ format sections of the manual for git-di
diff-patch format.
-diffcore-pathspec
+diffcore-pathspec: For Ignoring Files Outside Our Consideration
-----------------
The first transformation in the chain is diffcore-pathspec, and
is controlled by giving the pathname parameters to the
git-diff-* commands on the command line. The pathspec is used
to limit the world diff operates in. It removes the filepairs
-outside the specified set of pathnames.
+outside the specified set of pathnames. E.g. If the input set
+of filepairs included:
+
+------------------------------------------------
+:100644 100644 bcd1234... 0123456... M junkfile
+------------------------------------------------
+
+but the command invocation was "git-diff-files myfile", then the
+junkfile entry would be removed from the list because only "myfile"
+is under consideration.
Implementation note. For performance reasons, git-diff-tree
uses the pathname parameters on the command line to cull set of
@@ -80,7 +91,7 @@ filepairs it feeds the diffcore mechanis
use diffcore-pathspec, but the end result is the same.
-diffcore-break
+diffcore-break: For Splitting Up "Complete Rewrites"
--------------
The second transformation in the chain is diffcore-break, and is
@@ -115,7 +126,7 @@ the original is used), and can be custom
after "-B" option (e.g. "-B75" to tell it to use 75%).
-diffcore-rename
+diffcore-rename: For Detection Renames and Copies
---------------
This transformation is used to detect renames and copies, and is
@@ -136,16 +147,16 @@ merges these filepairs and creates:
:100644 100644 0123456... 0123456... R100 fileX file0
------------------------------------------------
-When the "-C" option is used, the original contents of modified
-files and contents of unchanged files are considered as
-candidates of the source files in rename/copy operation, in
-addition to the deleted files. If the input were like these
-filepairs, that talk about a modified file fileY and a newly
+When the "-C" option is used, the original contents of modified files,
+and deleted files (and also unmodified files, if the
+"\--find-copies-harder" option is used) are considered as candidates
+of the source files in rename/copy operation. If the input were like
+these filepairs, that talk about a modified file fileY and a newly
created file file0:
------------------------------------------------
:100644 100644 0123456... 1234567... M fileY
-:000000 100644 0000000... 0123456... A file0
+:000000 100644 0000000... bcd3456... A file0
------------------------------------------------
the original contents of fileY and the resulting contents of
@@ -154,14 +165,14 @@ changed to:
------------------------------------------------
:100644 100644 0123456... 1234567... M fileY
-:100644 100644 0123456... 0123456... C100 fileY file0
+:100644 100644 0123456... bcd3456... C100 fileY file0
------------------------------------------------
In both rename and copy detection, the same "extent of changes"
algorithm used in diffcore-break is used to determine if two
files are "similar enough", and can be customized to use
-similarity score different from the default 50% by giving a
-number after "-M" or "-C" option (e.g. "-M8" to tell it to use
+a similarity score different from the default of 50% by giving a
+number after the "-M" or "-C" option (e.g. "-M8" to tell it to use
8/10 = 80%).
Note. When the "-C" option is used with `\--find-copies-harder`
@@ -173,7 +184,7 @@ git-diff-\* commands can detect copies o
copied happened to have been modified in the same changeset.
-diffcore-merge-broken
+diffcore-merge-broken: For Putting "Complete Rewrites" Back Together
---------------------
This transformation is used to merge filepairs broken by
@@ -215,7 +226,7 @@ prefixed with '-', followed by the entir
version prefixed with '+'.
-diffcore-pickaxe
+diffcore-pickaxe: For Detecting Addition/Deletion of Specified String
----------------
This transformation is used to find filepairs that represent
@@ -230,7 +241,7 @@ string appeared in this changeset". It
opposite case that loses the specified string.
When `\--pickaxe-all` is not in effect, diffcore-pickaxe leaves
-only such filepairs that touches the specified string in its
+only such filepairs that touch the specified string in its
output. When `\--pickaxe-all` is used, diffcore-pickaxe leaves all
filepairs intact if there is such a filepair, or makes the
output empty otherwise. The latter behaviour is designed to
@@ -238,19 +249,19 @@ make reviewing of the changes in the con
changeset easier.
-diffcore-order
+diffcore-order: For Sorting the Output Based on Filenames
--------------
This is used to reorder the filepairs according to the user's
(or project's) taste, and is controlled by the -O option to the
git-diff-* commands.
-This takes a text file each of whose line is a shell glob
+This takes a text file each of whose lines is a shell glob
pattern. Filepairs that match a glob pattern on an earlier line
in the file are output before ones that match a later line, and
filepairs that do not match any glob pattern are output last.
-As an example, typical orderfile for the core git probably
+As an example, a typical orderfile for the core git probably
would look like this:
------------------------------------------------
^ permalink raw reply
* Re: gitk shows an empty line between "Comments" and changed files
From: Linus Torvalds @ 2005-10-29 3:07 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Pavel Roskin, git
In-Reply-To: <7vslul2g29.fsf@assigned-by-dhcp.cox.net>
On Fri, 28 Oct 2005, Junio C Hamano wrote:
>
> Sorry you lost me. I am not sure what you mean by "without
> actually doing anything" part. The input to patch-id command in
> the above pipe is (commit-object-name patch)*. The command
> reads such a stream, and transforms it to a (patch-id
> commit-object-name)* stream. In other words, the input
> identifies each patch with a commit-object-name, and the command
> condenses each patch to a patch-id, and spits them out, labelled
> with commit-object-name.
Note that git-patch-id will happily take a patch without the commit ID at
the head, it just won't have a commit ID to match it up with. For such
patches it will just spit it out with an all-zero commit-object-name.
And that's very much by design. The point is that you can match up your
(perhaps non-git) patches with what has been accepted. Which is why
git-patch-id should always take non-git patches too, and then you can
match them up by sorting by patch ID and doing "join -1" to match up
duplicates.
So git-patch-id will work with or without the commit ID, but the commit ID
is then later needed to figure out _which_ commit you matched up.
Linus
^ permalink raw reply
* Re: gitk shows an empty line between "Comments" and changed files
From: Junio C Hamano @ 2005-10-29 2:49 UTC (permalink / raw)
To: Pavel Roskin; +Cc: git
In-Reply-To: <1130539503.10531.43.camel@dv>
Pavel Roskin <proski@gnu.org> writes:
>> git-rev-list ^$old_head $new_head |
>> git-diff-tree -p -m --stdin --with-commit-ids |
>> git-patch-id
>
> Sounds good. Perhaps the commit IDs should have a prefix identifying
> them.
I do not think git-diff-tree -p output can have 40-byte
hexadecimal at the beginning of the output anywhere other than
commit object names; why clutter output?
> Another approach would be to use something slightly more elaborate than
> a pipe. If I understand correctly, the commit ID would be already known
> from the git-rev-list output. Passing commit IDs through patch-id
> without actually doing anything with them seems non-elegant.
Sorry you lost me. I am not sure what you mean by "without
actually doing anything" part. The input to patch-id command in
the above pipe is (commit-object-name patch)*. The command
reads such a stream, and transforms it to a (patch-id
commit-object-name)* stream. In other words, the input
identifies each patch with a commit-object-name, and the command
condenses each patch to a patch-id, and spits them out, labelled
with commit-object-name.
^ permalink raw reply
* Re: Question on GIT usage.
From: Linus Torvalds @ 2005-10-29 2:06 UTC (permalink / raw)
To: Ben Greear; +Cc: Git Mailing List
In-Reply-To: <4362C700.6020901@candelatech.com>
On Fri, 28 Oct 2005, Ben Greear wrote:
>
> I have a kernel GIT tree to hold my developing patches...
>
> I need to build this kernel for 4-5 different processors (c3, p2, p4, p4-smp,
> etc).
Sounds like you just want to use a separate build directory for the
kernel, which you can do quite independently of git (of course, not too
many people use it, so the separate-object-directory Kbuild infrastructure
has bugs every once in a while..)
The way it _should_ work is that you can do something like this:
.. have a clean source-tree in ~/src/linux ..
# set up the build tree
cd
mkdir build-tree
cd ~/src/linux
make O=~/build-tree oldconfig
# go there and build it
cd ~/build-tree
make
and now you can have a build-tree for each of your different
architectures.
Now, you _can_ certainly do the very same thing with just multiple git
repositories, and pull between them. That has its own set of advantages
too: you can have slight differences between the trees. Of course, if you
know you don't want any differences between the trees, that's not an
advantage, that's a disadvantage.
You can also have just one single real git repository, and then have that
one checked out multiple times. Use GIT_OBJECT_DIRECTORY to share the core
objects, and then you can have ten different git trees without duplicating
all your objects and pack-files.
> Is there any clever way to have this one git repository keep these
> other source trees in sync so that I can do incremental builds?
If you really want them 100%, the separate build trees is the best option.
That said, a lot of _other_ projects don't do separate build trees that
well (and as mentioned, sometimes it breaks for the kernel too), and git
certainly could be set up to be a "poor mans separate build tree".
Right now the easiest way to do that is to just have separate repositories
(and share at least _some_ objects by just using "git clone -l -s" to
clone them), but it could be hacked to be more geared explicitly towards
that..
Linus
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox