* Re: Errors GITtifying GCC and Binutils
From: Linus Torvalds @ 2006-03-23 20:38 UTC (permalink / raw)
To: sean; +Cc: keithp, hpa, jbglaw, git
In-Reply-To: <BAYC1-PASMTP0912D2287AB923F3338969AEDE0@CEZ.ICE>
On Thu, 23 Mar 2006, sean wrote:
>
> lol, that sounds like a really good plan. Perhaps as a two pronged effort
> its worth changing the notion that git is primarily "plumbing". Adding
> some of the nice features of cogito and other "porcelains" into the core
> git might go a ways toward converting the few naysayers we don't kill.
Actually, as far as I can tell, git already has a hell of a lot more
porcelain than pretty much any non-IDE type traditional SCM. Certainly
more than CVS.
Yeah, I'm not counting things like Eclipse etc. I'm talking about "plain
SCM" environments, ie just basic SVN or CVS. What are we missing in that
department? (The only thing I can think of is a diff colorizer, which some
prople seem to really want).
Linus
^ permalink raw reply
* Re: Errors GITtifying GCC and Binutils
From: Jan-Benedict Glaw @ 2006-03-23 20:03 UTC (permalink / raw)
To: Linus Torvalds; +Cc: git
In-Reply-To: <Pine.LNX.4.64.0603221717120.26286@g5.osdl.org>
[-- Attachment #1: Type: text/plain, Size: 2679 bytes --]
On Wed, 2006-03-22 17:28:23 -0800, Linus Torvalds <torvalds@osdl.org> wrote:
> On Wed, 22 Mar 2006, Linus Torvalds wrote:
> > This one-liner to cvsps.c seems to make sure we have an ancestor branch
> > for that "gdb-4.18-branch" branch, at least according to the cvsps output.
>
> The "git cvsimport" is still running, but at least it seems to be happily
> running further past the point it broke earlier.
I've started it once again, too, with the one-liner added to Debian
unstable's version of cvsps:
Fetching gas/ChangeLog v 1.479
Update gas/ChangeLog: 250329 bytes
Tree ID a6b48ebac02a4158d37bab17c54c667223ecd971
Parent ID 4cabd2962031fd7ec6416580d84fb30a304969f3
Committed patch 3742 (origin 2000-07-29 03:23:31)
Commit ID 1910c20a44455db916a5c040663716a7389219bc
Fetching winsup/cygwin/fhandler.h v 1.16
Update winsup/cygwin/fhandler.h: 25992 bytes
Fetching winsup/cygwin/include/cygwin/cygwin_dll.h v 1.2
Update winsup/cygwin/include/cygwin/cygwin_dll.h: 3050 bytes
Fetching winsup/cygwin/lib/cygwin_crt0.c v 1.5
Update winsup/cygwin/lib/cygwin_crt0.c: 926 bytes
Tree ID 0c2c7e9d0846e5f42b0bebad8b27ce439ddefb73
Parent ID 1910c20a44455db916a5c040663716a7389219bc
Committed patch 3743 (origin 2000-07-29 04:19:24)
Commit ID a15aac16f12061fbfef1be8f21b80a5076c8d605
Fetching winsup/cygwin/ChangeLog v 1.235
Update winsup/cygwin/ChangeLog: 75391 bytes
Fetching winsup/cygwin/dtable.cc v 1.11
Update winsup/cygwin/dtable.cc: 14399 bytes
Fetching winsup/cygwin/environ.cc v 1.17
Update winsup/cygwin/environ.cc: 17190 bytes
Fetching winsup/cygwin/winsup.h v 1.22
Update winsup/cygwin/winsup.h: 15828 bytes
Tree ID f777977c2b138952bc5a9bc431eec3de99a5f7db
Parent ID a15aac16f12061fbfef1be8f21b80a5076c8d605
Committed patch 3744 (origin 2000-07-29 16:01:23)
Commit ID 38b0ed94ef1c402b7b78ac6cad6c89ce189cd223
Switching from origin to #CVSPS_NO_BRANCH
usage: git-read-tree (<sha> | -m [--aggressive] [-u | -i] <sha1> [<sha2> [<sha3>]])
read-tree failed: 33024
It seems there's a patch like
http://www.gelato.unsw.edu.au/archives/git/0602/16278.html is missing?
...or we need a better cvsps. Shall I add it and try again / try to
continue, or give up on it for now? Though it would be nice to have
these two large and important source trees under GIT control :-)
MfG, JBG
--
Jan-Benedict Glaw jbglaw@lug-owl.de . +49-172-7608481 _ O _
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O
für einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: Cloning from sites with 404 overridden
From: Nick Hengeveld @ 2006-03-23 18:43 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
In-Reply-To: <7vacbi8eu1.fsf@assigned-by-dhcp.cox.net>
On Wed, Mar 22, 2006 at 11:22:14AM -0800, Junio C Hamano wrote:
> You probably need only one bit here,...
> ... and note if that is an HTML document or not.
/me smacks self...
> However the patch would not help when such a server also did a
> "Sorry, did you mistype the URL?" HTML response, and I was
> wondering how typical that would be.
Seems like there are three cases to worry about:
1) the server returns a 200 status and a text/html response instead of a
404, and the server's default content type is not text/html
2) the server returns a 200 status and a text/html response instead of a
404, and the server's default content type is text/html
3) the server returns a corrupt object from the repository
I don't think there's a way to distinguish between #2 and #3, so all we
can really do is display as helpful an error message as possible.
We can detect #1 if there has been a previous successful loose object
transfer by tracking whether the repo's default content type is
text/html. In such a case should http-fetch behave as if the server
returned 404? If there have been no successful loose object transfers,
we'd have to respond as with #2. This approach could potentially break
if requests are load-balanced to servers with different
misconfigurations - but I think trying to detect that is bending
backwards a little too far.
On a related note, I noticed that http-fetch will continue to try
inflating/sha1_updating the response after an inflate error has been
detected. It's probably not a huge deal, but we could just error out
immediately at that point or at least stop the unnecessary processing.
Something like this? Tested by cloning
http://digilander.libero.it/mcostalba/scm/qgit.git
[PATCH] http-fetch: try to detect 404s from misconfigured servers
Some HTTP server environments return a 200 status and text/html error
document or a redirect to one rather than a 404 status if a loose
object does not exist. This patch tries to detect such a response
and treat it as a 404.
Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
---
http-fetch.c | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
ab97429c5b0a4b4466ee0072f75706399e42b675
diff --git a/http-fetch.c b/http-fetch.c
index dc67218..bb75050 100644
--- a/http-fetch.c
+++ b/http-fetch.c
@@ -16,6 +16,7 @@ struct alt_base
{
char *base;
int got_indices;
+ int default_html_content_type;
struct packed_git *packs;
struct alt_base *next;
};
@@ -41,6 +42,7 @@ struct object_request
CURLcode curl_result;
char errorstr[CURL_ERROR_SIZE];
long http_code;
+ char html_content_type;
unsigned char real_sha1[20];
SHA_CTX c;
z_stream stream;
@@ -249,6 +251,9 @@ static void finish_object_request(struct
unlink(obj_req->tmpfile);
return;
}
+ if (obj_req->repo->default_html_content_type == -1)
+ obj_req->repo->default_html_content_type =
+ obj_req->html_content_type;
obj_req->rename =
move_temp_to_file(obj_req->tmpfile, obj_req->filename);
@@ -258,9 +263,15 @@ static void finish_object_request(struct
static void process_object_response(void *callback_data)
{
+ char *content_type;
struct object_request *obj_req =
(struct object_request *)callback_data;
+ curl_easy_getinfo(obj_req->slot->curl, CURLINFO_CONTENT_TYPE,
+ &content_type);
+ if (content_type && !strcmp(content_type, "text/html"))
+ obj_req->html_content_type = 1;
+
obj_req->curl_result = obj_req->slot->curl_result;
obj_req->http_code = obj_req->slot->http_code;
obj_req->slot = NULL;
@@ -340,6 +351,7 @@ void prefetch(unsigned char *sha1)
memcpy(newreq->sha1, sha1, 20);
newreq->repo = alt;
newreq->url = NULL;
+ newreq->html_content_type = 0;
newreq->local = -1;
newreq->state = WAITING;
snprintf(newreq->filename, sizeof(newreq->filename), "%s", filename);
@@ -539,6 +551,7 @@ static void process_alternates_response(
newalt->next = NULL;
newalt->base = target;
newalt->got_indices = 0;
+ newalt->default_html_content_type = -1;
newalt->packs = NULL;
while (tail->next != NULL)
tail = tail->next;
@@ -835,8 +848,14 @@ static int fetch_object(struct alt_base
obj_req->errorstr, obj_req->curl_result,
obj_req->http_code, hex);
} else if (obj_req->zret != Z_STREAM_END) {
- corrupt_object_found++;
- ret = error("File %s (%s) corrupt", hex, obj_req->url);
+ if (obj_req->html_content_type &&
+ !obj_req->repo->default_html_content_type)
+ ret = -1; /* Be silent, looks like a 404 */
+ else {
+ corrupt_object_found++;
+ ret = error("File %s (%s) corrupt",
+ sha1_to_hex(obj_req->sha1), obj_req->url);
+ }
} else if (memcmp(obj_req->sha1, obj_req->real_sha1, 20)) {
ret = error("File %s has bad hash", hex);
} else if (obj_req->rename < 0) {
@@ -985,6 +1004,7 @@ int main(int argc, char **argv)
alt = xmalloc(sizeof(*alt));
alt->base = url;
alt->got_indices = 0;
+ alt->default_html_content_type = -1;
alt->packs = NULL;
alt->next = NULL;
--
1.2.4.gb1bc1d-dirty
^ permalink raw reply related
* Re: Errors GITtifying GCC and Binutils
From: sean @ 2006-03-23 18:12 UTC (permalink / raw)
To: Linus Torvalds; +Cc: keithp, hpa, jbglaw, git
In-Reply-To: <Pine.LNX.4.64.0603230758260.26286@g5.osdl.org>
On Thu, 23 Mar 2006 08:01:14 -0800 (PST)
Linus Torvalds <torvalds@osdl.org> wrote:
> I have to say, that one thing I've learnt during this whole git thing is
> that other SCM's are DAMN CONFUSED.
>
> I used to think that git was potentially hard to understand. Not so. git
> is an absolute paragon of logic and easy-to-understand concepts.
>
> Compared to SVN (can anybody sat "trunk/branch/tag confusion") and CVS,
> git is not only a hell of a lot more capable, it's just more logical.
>
> We will hereby start scouring the net for people who say git is hard to
> understand and use, and just kill them. They clearly are just polluting
> the gene pool.
lol, that sounds like a really good plan. Perhaps as a two pronged effort
its worth changing the notion that git is primarily "plumbing". Adding
some of the nice features of cogito and other "porcelains" into the core
git might go a ways toward converting the few naysayers we don't kill.
Sean
^ permalink raw reply
* Re: Who do I report bugs in the git source web browser thing to?
From: Linus Torvalds @ 2006-03-23 17:03 UTC (permalink / raw)
To: Rob Landley; +Cc: git
In-Reply-To: <200603231143.17762.rob@landley.net>
On Thu, 23 Mar 2006, Rob Landley wrote:
>
> When I go to kernel.org, click the tiny C next to linus's name to get the git
> browser for the tree, click "tree", click the "usr" directory, and then click
> "history" next to the file gen_init_cpio.c, it says this file appeared out of
> thin air 59 minutes ago.
It does?
For me, it says that the file has no history at all. Which is true. It
hasn't been changed since it was imported, and normally git doesn't show
the root commit at all (exactly because it's the "import" commit).
Now, gitweb _could_ use the "--root" flag to git-diff-tree to also show
the root commit as a diff against nothingness, and then each file would
always have at least _one_ history entry, but if you want that, you might
as well just click the "blob" button instead, that shows what the file is.
The one commit you see (the "[PATCH] reduce size of bio mempools" thing in
the header at the thing) is _not_ part of the file history: it's your
starting point for history searching. In other words, it's the top commit
that you do your history _off_.
Pick another file, like the Makefile, to see what real history looks like
(or, better yet, go into a different directory that actually sees more
real work, like kernel/, and look at the history of files there).
Linus
^ permalink raw reply
* Re: Who do I report bugs in the git source web browser thing to?
From: Josh Boyer @ 2006-03-23 16:51 UTC (permalink / raw)
To: Rob Landley; +Cc: git
In-Reply-To: <200603231143.17762.rob@landley.net>
On 3/23/06, Rob Landley <rob@landley.net> wrote:
> When I go to kernel.org, click the tiny C next to linus's name to get the git
> browser for the tree, click "tree", click the "usr" directory, and then click
> "history" next to the file gen_init_cpio.c, it says this file appeared out of
> thin air 59 minutes ago.
>
> This is not the case.
Linus' tree only goes back to 2.6.12 or so. I think you're just
seeing the fact that it's the first commit to that file since it was
initially imported.
josh
^ permalink raw reply
* Who do I report bugs in the git source web browser thing to?
From: Rob Landley @ 2006-03-23 16:43 UTC (permalink / raw)
To: git
When I go to kernel.org, click the tiny C next to linus's name to get the git
browser for the tree, click "tree", click the "usr" directory, and then click
"history" next to the file gen_init_cpio.c, it says this file appeared out of
thin air 59 minutes ago.
This is not the case.
>From this link:
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;h=bc589b0ffba8941b7f7574b71ddec795e2217107;hb=b0e6e962992b76580f4900b166a337bad7c1e81b;f=usr
I wind up with this link:
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history;h=b0e6e962992b76580f4900b166a337bad7c1e81b;f=usr/gen_init_cpio.c
Which shows exactly one change.
Am I doing something wrong?
Rob
--
Never bet against the cheap plastic solution.
^ permalink raw reply
* Re: Errors GITtifying GCC and Binutils
From: Linus Torvalds @ 2006-03-23 16:01 UTC (permalink / raw)
To: Keith Packard; +Cc: H. Peter Anvin, Jan-Benedict Glaw, git
In-Reply-To: <1143128751.6850.35.camel@neko.keithp.com>
On Thu, 23 Mar 2006, Keith Packard wrote:
>
> Note that vendor branches are always made from the first revision along
> a branch, independent of when they occur, so you'll get 1.1.3.1 even if
> the head revision along the trunk is 1.246.
I have to say, that one thing I've learnt during this whole git thing is
that other SCM's are DAMN CONFUSED.
I used to think that git was potentially hard to understand. Not so. git
is an absolute paragon of logic and easy-to-understand concepts.
Compared to SVN (can anybody sat "trunk/branch/tag confusion") and CVS,
git is not only a hell of a lot more capable, it's just more logical.
We will hereby start scouring the net for people who say git is hard to
understand and use, and just kill them. They clearly are just polluting
the gene pool.
Linus
^ permalink raw reply
* Re: Errors GITtifying GCC and Binutils
From: Keith Packard @ 2006-03-23 15:45 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: keithp, Linus Torvalds, Jan-Benedict Glaw, git
In-Reply-To: <44223B90.3040500@zytor.com>
[-- Attachment #1: Type: text/plain, Size: 760 bytes --]
On Wed, 2006-03-22 at 22:09 -0800, H. Peter Anvin wrote:
> Linus Torvalds wrote:
> >
> > It _seems_ that the reason for that is that cvsps considers a revision
> > number of 1.1.1.1 to have a "dot depth" of 0, for some really strange
> > reason (it's a total special case).
> >
>
> Probably because in 99% of all cases, revision 1.1.1.1 is the result of
> a "cvs import".
All odd branches are imports. Internal branches are even. So, 1.1.3.1
would be the first import along the second vendor branch from the trunk.
Note that vendor branches are always made from the first revision along
a branch, independent of when they occur, so you'll get 1.1.3.1 even if
the head revision along the trunk is 1.246.
--
keith.packard@intel.com
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply
* Re: [RFC] Make dot-counting ignore ".1" at the end
From: Keith Packard @ 2006-03-23 7:17 UTC (permalink / raw)
To: Linus Torvalds; +Cc: keithp, Git Mailing List
In-Reply-To: <Pine.LNX.4.64.0603222232210.26286@g5.osdl.org>
[-- Attachment #1: Type: text/plain, Size: 867 bytes --]
On Wed, 2006-03-22 at 22:34 -0800, Linus Torvalds wrote:
> With that in place (the "make sure we have a proper ancestor branch"
> thing), a "git cvsimport" of the binutils tree seems to be working, at
> least to the point that it seems to have imported 1400+ commits without
> undue complaints. But hey, I'm looking forward to something less
> hacked-together.
Yeah, me too. Attempts at importing some of the X.org trees have
resulted in 'less than ideal' repositories.
I stuck a couple of hacks in cvsps myself to get it to deal with
X.org trees; the first was to increase a static buffer to 'large enough'
to hold X.org-style commit messages (which are enormous).
http://gitweb.freedesktop.org/?p=freedesktop-cvsps;a=summary
shows both minor patches. I should have let people know about these
earlier...
--
keith.packard@intel.com
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply
* Re: [RFC] Make dot-counting ignore ".1" at the end
From: Linus Torvalds @ 2006-03-23 6:34 UTC (permalink / raw)
To: Keith Packard; +Cc: Git Mailing List
In-Reply-To: <1143095182.6850.23.camel@neko.keithp.com>
On Wed, 22 Mar 2006, Keith Packard wrote:
>
> No. 1.1.1.1 is the first import on the first vendor branch; 1.1 is the
> head of the tree.
Ok. Discard the second patch. The first one is definitely needed for cvsps
right now, though.
With that in place (the "make sure we have a proper ancestor branch"
thing), a "git cvsimport" of the binutils tree seems to be working, at
least to the point that it seems to have imported 1400+ commits without
undue complaints. But hey, I'm looking forward to something less
hacked-together.
Linus
^ permalink raw reply
* Re: [RFC] Make dot-counting ignore ".1" at the end
From: Keith Packard @ 2006-03-23 6:26 UTC (permalink / raw)
To: Linus Torvalds, Git Mailing List; +Cc: keithp
In-Reply-To: <Pine.LNX.4.64.0603221746300.26286@g5.osdl.org>
[-- Attachment #1: Type: text/plain, Size: 2330 bytes --]
On Wed, 2006-03-22 at 17:50 -0800, Linus Torvalds wrote:
> I'm not 100% sure this is appropriate, but in general, I think "<rev>" and
> "<rev>.1" should be considered the same thing, no? Which implies that
> "1.1" and "1.1.1.1" are all the same thing, and collapse to just "1", ie a
> zero dot-count. They are all the same version, after all, no?
No. 1.1.1.1 is the first import on the first vendor branch; 1.1 is the
head of the tree.
vendor branches are total CVS magic and need very special treatment. The
initial import sets the 'branch' value in the ,v file to point at the
vendor branch. Subsequent imports leave the branch value alone, a commit
to the trunk will reset the branch to point at the trunk. This means
that use of the default version of the file just after an import gives
you the head of the import tree. It's insane, but that's how it works.
What I've been doing is to treat imports to a vendor branch which occur
sequentially as if they were on the trunk. Imports after an intervening
commit to the trunk are placed on a separate branch.
The best part is that you get the vendor branch named 1.1.1 *even if
you've made a million commits to the trunk*. Which means that you must
ignore the numeric relationship between the vendor branch and the trunk
and merge them together in date order.
> This gets rid of the insane (?) special case of "1.1.1.1" that exists
> there now, since it's now no longer a special case.
Oh, it's a seriously special case, one which takes seriously special
handling, and a careful disregard for normal version number ordering.
> I also wonder if trailing ".1" revisions should be ignored when comparing
> two revisions.
As 'real' CVS version numbers always have four digits, this doesn't much
matter.
btw -- I've got my parsecvs code doing a pretty good job of discovering
the structure of an arbitrary set of ,v files. The last remaining bit of
code to write is to correctly construct the tree of branches from the
partial trees in each ,v file. With simple trees, things are looking
good, with the xserver CVS tree, I get a couple of mis-hung branches as
the branch tree is wrong. Fixed tomorrow, I think, at which point it
should be able to produce more accurate commits than cvsps does.
--
keith.packard@intel.com
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply
* Re: Errors GITtifying GCC and Binutils
From: H. Peter Anvin @ 2006-03-23 6:09 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Jan-Benedict Glaw, git
In-Reply-To: <Pine.LNX.4.64.0603221607580.26286@g5.osdl.org>
Linus Torvalds wrote:
>
> It _seems_ that the reason for that is that cvsps considers a revision
> number of 1.1.1.1 to have a "dot depth" of 0, for some really strange
> reason (it's a total special case).
>
Probably because in 99% of all cases, revision 1.1.1.1 is the result of
a "cvs import".
-hpa
^ permalink raw reply
* Re: [RFC] Silent File Mods Being Committed
From: Junio C Hamano @ 2006-03-23 5:13 UTC (permalink / raw)
To: Jon Loeliger; +Cc: git
In-Reply-To: <E1FMH3o-0001B5-Dw@jdl.com>
Jon Loeliger <jdl@jdl.com> writes:
> However, 'git status' didn't show that output....
>
> And that is because it is driven by the diffcore instead!
> So I _think_ diff_resolve_rename_copy() has to be consulted
> to get that DIFF_STATUS_MODIFIED indicator. Except that it is
> shared with the SHA1 compare too:
>
> else if (memcmp(p->one->sha1, p->two->sha1, 20) ||
> p->one->mode != p->two->mode)
> p->status = DIFF_STATUS_MODIFIED;
>
> But I haven't tracked it back to see how to propagate that
> status back up to show_modified() in diff-files.c yet...
I think the cleanest way would be either
(1) define another output format to diffcore similar to
--name-status, let that format perform most of what
DIFF_FORMAT_NAME_STATUS does, and update
diff.c:diff_flush_raw() to show the mode change as M+ (old
was not executable but new is) or M- (the other way); or
(2) audit all the scripts to make sure they do not get upset if
we add trailing +/- to the status letter, and do that
unconditionally, like the attached patch does.
If you go the latter route, you would get something like this:
$ ./git-diff-files --abbrev
:100644 100755 c0548ee... 0000000... M+ diff.c
$ ./git-diff-files --name-status
M+ diff.c
---
diff --git a/diff.c b/diff.c
index c0548ee..09b8f7e 100644
--- a/diff.c
+++ b/diff.c
@@ -1034,6 +1034,10 @@ static void diff_flush_raw(struct diff_f
status[0] = p->status;
status[1] = 0;
}
+
+ if (p->one->mode && p->two->mode && p->one->mode != p->two->mode)
+ strcat(status, (p->two->mode & 01) ? "+" : "-");
+
switch (p->status) {
case DIFF_STATUS_COPIED:
case DIFF_STATUS_RENAMED:
^ permalink raw reply related
* [RFC] Silent File Mods Being Committed
From: Jon Loeliger @ 2006-03-23 4:04 UTC (permalink / raw)
To: git
Folks,
I sort of got blindsided by committing (accidental) mode
changes on a file that was also textually changed. Because
it was textually changed, I happily expected 'git status'
to show it as modified and subsequently 'git commit'-ed it.
Only after I 'git diff'-ed it later did I see that there
was also a mode change on the file! Argh!
Secondarily, I think that the invisible file changes like
this caused an eariler (yesterday-ish) confusion where an
index looked clean, but was dirty due to stat issues and
poor users (me) couldn't quite see why.
Originally, I was going to propose that git-ls-files be modified
such that the mode and stat changes that ce_modified() correctly
identifies as changing are somehow translated into output that
"git status" shows the user per-file _in_addition_ to the normal
"is modified" header. So I did this mod:
diff --git a/ls-files.c b/ls-files.c
index df25c8c..3e7e55d 100644
--- a/ls-files.c
+++ b/ls-files.c
@@ -450,7 +450,7 @@ static void show_killed_files(void)
}
}
-static void show_ce_entry(const char *tag, struct cache_entry *ce)
+static void show_ce_entry(const char *tag, struct cache_entry *ce, int changed)
{
int len = prefix_len;
int offset = prefix_offset;
@@ -482,6 +482,14 @@ static void show_ce_entry(const char *ta
fputs(tag, stdout);
write_name_quoted("", 0, ce->name + offset,
line_terminator, stdout);
+ if (changed & (MTIME_CHANGED | CTIME_CHANGED)) {
+ putchar(' ');
+ putchar('T');
+ }
+ if (changed & MODE_CHANGED) {
+ putchar(' ');
+ putchar('M');
+ }
putchar(line_terminator);
}
else {
@@ -541,7 +549,7 @@ static void show_files(void)
continue;
if (show_unmerged && !ce_stage(ce))
continue;
- show_ce_entry(ce_stage(ce) ? tag_unmerged : tag_cached, ce);
+ show_ce_entry(ce_stage(ce) ? tag_unmerged : tag_cached, ce, 0);
}
}
if (show_deleted | show_modified) {
@@ -553,9 +561,13 @@ static void show_files(void)
continue;
err = lstat(ce->name, &st);
if (show_deleted && err)
- show_ce_entry(tag_removed, ce);
- if (show_modified && ce_modified(ce, &st, 0))
- show_ce_entry(tag_modified, ce);
+ show_ce_entry(tag_removed, ce, 0);
+ if (show_modified) {
+ int changed = ce_modified(ce, &st, 0);
+ if (changed)
+ show_ce_entry(tag_modified,
+ ce, changed);
+ }
}
}
}
And with that, "git ls-file -m" showed a trailing T or M to
indicate a "time" or a "mode" change happened on each file.
However, 'git status' didn't show that output....
And that is because it is driven by the diffcore instead!
So I _think_ diff_resolve_rename_copy() has to be consulted
to get that DIFF_STATUS_MODIFIED indicator. Except that it is
shared with the SHA1 compare too:
else if (memcmp(p->one->sha1, p->two->sha1, 20) ||
p->one->mode != p->two->mode)
p->status = DIFF_STATUS_MODIFIED;
But I haven't tracked it back to see how to propagate that
status back up to show_modified() in diff-files.c yet...
Maybe there is an easier way...?
jdl
^ permalink raw reply related
* Re: Best way to generate a git tree containing only a subset of commits from another tree?
From: Linus Torvalds @ 2006-03-23 3:43 UTC (permalink / raw)
To: Andreas Ericsson; +Cc: Junio C Hamano, git, Anton Altaparmakov
In-Reply-To: <442213F4.7040603@op5.se>
On Thu, 23 Mar 2006, Andreas Ericsson wrote:
>
> <sidenote>
> I've never understood what orthogonal means in this sense. "at a right angle"
> as in flagging for attention or the exactly counter-productive to what one
> should use?
> </sidenot>
No. Orthogonal in math may be literally "straight angle", but in
non-geometric speak it means "independent" or "statistically unrelated".
See
http://wordnet.princeton.edu/perl/webwn?s=orthogonal
and the two first definitions in particular.
Ie two issues (or, in this case, "branches") are orthogonal if they have
nothing in common - they fix two totally independent things.
This is, btw, totally consistent with the geometric meaning of the word.
Two vectors are orthogonal if they have no common component: the dot
product is zero (ie the projection of one vector onto another is the null
vector).
So if you see two lines of development as being "vectors" from a common
source, when they have nothing in common, they are orthogonal.
Of course, the development space is neither three-dimensional nor
euclidian, so it's a strange kind of vector, but still ;)
Linus
^ permalink raw reply
* Re: Best way to generate a git tree containing only a subset of commits from another tree?
From: Andreas Ericsson @ 2006-03-23 3:20 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Anton Altaparmakov
In-Reply-To: <7vu09q54a6.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
> Andreas Ericsson <ae@op5.se> writes:
>
>>If you have several topic branches, one for each series of commits,
>>you should be able to do an octopus, like so:
>>
>> $ git pull . <topic-branches-to-publish>
>
>
> Octopus is orthogonal to the issue at hand. Further, I suspect
> that the original repository by Anton is not that cleanly
> organized to have such topic branches -- otherwise the question
> would not have come up to begin with.
>
<sidenote>
I've never understood what orthogonal means in this sense. "at a right
angle" as in flagging for attention or the exactly counter-productive to
what one should use?
</sidenot>
>
>>If you *don't* have several topic branches, or if some commits aren't
>>in topic-branches, you could try something like this (untested,
>>although it shouldn't break anything except the for-linus branch which
>>you can re-create fairly simply)
>>
>> $ for b in <topic-branches-for-linus>; do
>> git checkout $b
>> git rebase for-linus || (git reset --hard; echo $b >> to-merge)
>> done
>
>
>> # now merge what couldn't be rebased
>> $ git checkout for-linus
>> $ git pull . $(cat to-merge)
>
>
> Now you lost me here. When rebase refuses because of
> conflicting changes, you are doing "reset --hard" but I suspect
> you meant "reset --hard ORIG_HEAD" to recover the original head.
I actually meant to reset the for-linus branch, although it would have
to be reset to the state it was before trying the rebase, which means
creating and deleting a tag or some other marker.
I really should install an alco-lock on my MUA.
> Further, I would have expected you to be rebasing on top of
> linus, not for-linus, in case you may already have pulled other
> topic branches into it.
>
Perhaps. I said 'for-linus' to make sure there was an easy way to
recover to state 1 in case of errors. I also rewrote the part above
twice to account for topic branches, so it doesn't make much sense
without the background thinking.
> Your merging those branches that have conflicting changes on top
> of for-linus (that starts out at Linus's tip) is sensible, but
> one word of caution is the history contained within the topic
> branch should be sane. What are you going to do with branches
> that cleanly rebase on top of for-linus?
>
Nothing. 'for-linus' should be updated each time a rebase completes
success-fully, so all the cleanly rebased branches should be in a linear
commit-history on top of each other. Granted, most projects won't have
many topic-branches (or other commit-chains) that rebase on top of each
other like that, but...
>
>>... If your vanilla tree is up-to-date and he pulls
>>from you before pulling from someone else or adding other commits this
>>isn't necessary, although you'll have to do
>>
>> $ git checkout linus; git pull . for-linus
>>
>>to get the vanilla branch up to speed with Linus' HEAD.
>
>
> I am not sure I follow you here.
>
> If Linus hasn't pulled from you, you can either just keep asking
> (you do not have to update for-linus), or rebuild it based on
> more recent Linus's tip.
>
What I meant was that the thing he has in "for-linus" will match what
Linus has in "master" verbatim if Linus doesn't have commits on top of
his "master" that aren't in Anton's "for-linus" (originating from
"linus"). That sentence didn't make sense to me right now.
> $ git fetch linus ;# to update to Linus's tip
> $ git checkout for-linus
> $ git reset --hard linus
>
> If Linus has pulled from you, there is nothing more than the
> above for you to do.
The above command would reset the "for-linus" branch to the state it had
before he applied all his changes. I meant that if he wants to track
Linus' exact HEAD in some branch he could do that by tracking his own if
the changes since merge-base are identical. I was clearly complicating
things by mentioning such a highly conditional exception.
> If you want to rebuild for-linus branch,
> (maybe because you fixed things in some of your topic branches),
> after the above, you could:
>
> $ git pull . this-topic
> $ git pull . that-topic
> ...
>
> This is nicer to Linus _if_ your topics overlap with recent
> changes to the Linus's tree. Otherwise you do not necessarily
> have to rebuild for-linus branch.
>
But it's very nasty in case Linus has already pulled the changes, which
was what I assumed he would have done.
I was most likely a bit diffuse. Everything else seems to be at the
moment, and I like to blend in. ;)
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
^ permalink raw reply
* Re: Question about possible git races
From: Andreas Ericsson @ 2006-03-23 2:55 UTC (permalink / raw)
To: Radoslaw Szkodzinski; +Cc: git
In-Reply-To: <200603230224.54736.astralstorm@o2.pl>
Radoslaw Szkodzinski wrote:
> On Thursday 23 March 2006 00:28, Andreas Ericsson wrote yet:
>
>>Btw. I'm assuming you're aware you'll have to GPL this app of yours,
>>since git is GPL and you'll be using the git produce in a way that makes
>>it vital to your app.
>
>
> It will be, but not because of git (it's execve()ing it), but rather because
> of the principle.
>
Ah, Good Thing. Just to clarify for the archives though, it *is*
required since it's using git in a way that makes git a fundamental,
non-replaceable part of its core operations.
> Intermediate results will probably be:
> - later yet another porcelain, written in C
>
yagit? yagp? What I wanna know is when jigit's gonna hit the streets. :)
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
^ permalink raw reply
* [PATCH] Move config options into separate package.
From: Jon Loeliger @ 2006-03-23 2:49 UTC (permalink / raw)
To: git
Allow new gitweb.cgi to be installed without having to
continually tinker with the site-specific configuration
options need for an install.
Signed-off-by: Jon Loeliger <jdl@jdl.com>
---
This patch can be pulled directly from the "jdl" branch here:
http://www.jdl.com/pub/software/gitweb.git
gitweb.cgi | 29 ++++++++++++-----------------
gitweb_config.pm | 42 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 54 insertions(+), 17 deletions(-)
create mode 100644 gitweb_config.pm
a55eba90ac75a5f722b865e631a728d4a6446d07
diff --git a/gitweb.cgi b/gitweb.cgi
index c1bb624..4d3bcd6 100755
--- a/gitweb.cgi
+++ b/gitweb.cgi
@@ -16,31 +16,26 @@ use Encode;
use Fcntl ':mode';
binmode STDOUT, ':utf8';
+require gitweb_config;
+
my $cgi = new CGI;
my $version = "264";
my $my_url = $cgi->url();
my $my_uri = $cgi->url(-absolute => 1);
my $rss_link = "";
-# absolute fs-path which will be prepended to the project path
-#my $projectroot = "/pub/scm";
-my $projectroot = "/home/kay/public_html/pub/scm";
-
-# location of the git-core binaries
-my $gitbin = "/usr/bin";
-
-# location for temporary files needed for diffs
-my $git_temp = "/tmp/gitweb";
-
# target of the home link on top of all pages
-my $home_link = $my_uri;
+my $home_link = $my_uri;
-# html text to include at home page
-my $home_text = "indextext.html";
+# Get config values or use defaults.
+my $config_opts = gitweb_config::get_config_opts();
+my $gitbin = $config_opts->{gitbin} || "/usr/bin";
+my $git_temp = $config_opts->{git_temp} || "/tmp/gitweb";
+my $projectroot = $config_opts->{projectroot} || "/pub/scm";
+my $home_text = $config_opts->{home_text} || "indextext.html";
+my $projects_list = $config_opts->{projects_list} || "index/index.aux";
+my $description_len = $config_opts->{description_len} || 25;
-# source of projects list
-#my $projects_list = $projectroot;
-my $projects_list = "index/index.aux";
# input validation and dispatch
my $action = $cgi->param('a');
@@ -853,7 +848,7 @@ sub git_project_list {
$pr->{'commit'} = \%co;
if (!defined $pr->{'descr'}) {
my $descr = git_read_description($pr->{'path'}) || "";
- $pr->{'descr'} = chop_str($descr, 25, 5);
+ $pr->{'descr'} = chop_str($descr, $description_len, 5);
}
if (!defined $pr->{'owner'}) {
$pr->{'owner'} = get_file_owner("$projectroot/$pr->{'path'}") || "";
diff --git a/gitweb_config.pm b/gitweb_config.pm
new file mode 100644
index 0000000..d67fb34
--- /dev/null
+++ b/gitweb_config.pm
@@ -0,0 +1,42 @@
+#
+# This program is licensed under the GPLv2
+#
+
+#
+# Configuration Options for gitweb
+#
+# gitbin: Location of the git-core binaries
+# "/usr/bin"
+#
+# git_temp: Location for temporary files needed for diffs
+# "/tmp/gtiweb"
+#
+# projectroot: Absolute fs-path which will be prepended to the project path
+# "/pub/scm"
+# "/home/kay/public_html/pub/scm"
+#
+# projects_list: Source of projects list
+# "/pub/scm"
+# "index/index.aux"
+#
+# home_text: Html text to include at home page
+# "indextext.html"
+#
+# description_len: Length of description field
+# 25
+# 35
+
+package gitweb_config;
+
+my $opts = {
+ gitbin => "/usr/bin",
+ git_temp => "/tmp/gitweb",
+ projectroot => "/pub/software",
+ projects_list => "/pub/software",
+ home_text => "indextext.html",
+ description_len => 35,
+};
+
+sub get_config_opts { return $opts; }
+
+1;
--
1.2.4.gc98264
^ permalink raw reply related
* Re: [PATCH] doc: add clarification of existing GPLv2 license terms to manual pages
From: Sam Vilain @ 2006-03-23 2:02 UTC (permalink / raw)
To: git
In-Reply-To: <20060323015847.4624.61707.stgit@localhost.localdomain>
Sam Vilain wrote:
>So, we add clarification to a handful of tools on a per-tool basis.
>
>
(ahem) that was my original intention, then I got carried away and did
them all. I now have a much better idea of what all the git-core
commands do :-).
Sam.
^ permalink raw reply
* [PATCH] doc: add clarification of existing GPLv2 license terms to manual pages
From: Sam Vilain @ 2006-03-23 1:58 UTC (permalink / raw)
To: git
From: Sam Vilain <sam.vilain@catalyst.net.nz>
Licensing code under the GPL, rather than, say, the Lesser GPL, means
that your intention is that all code that uses it as a library must
also be GPL compatible.
One problem with the GPLv2 is that it is quite vague on when a license
propagates to a piece of code that uses it, and when it does not.
For instance, if you take a GPL library and export its API via the
network, code that uses that API on the other end of the network must
be under a GPL compatible license. Any program, whether it is a
command line tool or a network oriented API, that simply wraps a
library function does not detract from the fact that you are wrapping
a library function - you cannot circumvent the GPL this easily,
otherwise the GPL would be worthless.
The GPLv3 is less ambiguous on these things, but a decision on the use
of GPLv3 has already been deferred.
Normally this is an easy question, with one rule of thumb is the
'using as a program implies not a library'. However, most of git's
core library functions have been developed as standalone binaries.
So, we add clarification to a handful of tools on a per-tool basis.
The overall position is that the requirements of the GPL license
propagate to the programs that are internal tools, whether they are
libified or not. For instance 'git-status', 'git-checkout' and
'git-pull' are considered programs, but 'git-cat-file',
'git-merge-octopus' and 'git-hash-object' are considered library
functions.
Note that we are not making any new licensing decisions here; just
clarifying the existing terms under which people have been
contributing code so far. For those undocumented commands (like
git-merge-octopus), no particular clarification is offered, but this
patch adds plenty of comparable clarifications, which still helps
those building tools that use or are based around git know whether
their product will be encumbered by the GPL or not.
---
Documentation/git-add.txt | 4 ++++
Documentation/git-am.txt | 4 ++++
Documentation/git-apply.txt | 4 ++++
Documentation/git-applymbox.txt | 4 ++++
Documentation/git-applypatch.txt | 4 ++++
Documentation/git-archimport.txt | 4 ++++
Documentation/git-bisect.txt | 4 ++++
Documentation/git-branch.txt | 4 ++++
Documentation/git-cat-file.txt | 4 ++++
Documentation/git-check-ref-format.txt | 4 ++++
Documentation/git-checkout-index.txt | 3 +++
Documentation/git-checkout.txt | 8 ++++++++
Documentation/git-cherry-pick.txt | 4 ++++
Documentation/git-cherry.txt | 4 ++++
Documentation/git-clone-pack.txt | 4 ++++
Documentation/git-clone.txt | 4 ++++
Documentation/git-commit-tree.txt | 4 ++++
Documentation/git-commit.txt | 4 ++++
Documentation/git-convert-objects.txt | 4 ++++
Documentation/git-count-objects.txt | 4 ++++
Documentation/git-cvsexportcommit.txt | 4 ++++
Documentation/git-cvsimport.txt | 4 ++++
Documentation/git-cvsserver.txt | 4 ++++
Documentation/git-daemon.txt | 12 ++++++++++++
Documentation/git-describe.txt | 4 ++++
Documentation/git-diff-files.txt | 4 ++++
Documentation/git-diff-index.txt | 4 ++++
Documentation/git-diff-stages.txt | 4 ++++
Documentation/git-diff-tree.txt | 4 ++++
Documentation/git-diff.txt | 4 ++++
Documentation/git-fetch-pack.txt | 4 ++++
Documentation/git-fetch.txt | 4 ++++
Documentation/git-fmt-merge-msg.txt | 4 ++++
Documentation/git-format-patch.txt | 4 ++++
Documentation/git-fsck-objects.txt | 4 ++++
Documentation/git-get-tar-commit-id.txt | 4 ++++
Documentation/git-grep.txt | 4 ++++
Documentation/git-hash-object.txt | 4 ++++
Documentation/git-http-fetch.txt | 4 ++++
Documentation/git-http-push.txt | 4 ++++
Documentation/git-index-pack.txt | 4 ++++
Documentation/git-init-db.txt | 4 ++++
Documentation/git-local-fetch.txt | 4 ++++
Documentation/git-log.txt | 4 ++++
Documentation/git-lost-found.txt | 3 +++
Documentation/git-ls-files.txt | 4 ++++
Documentation/git-ls-remote.txt | 4 ++++
Documentation/git-ls-tree.txt | 4 ++++
Documentation/git-mailinfo.txt | 4 ++++
Documentation/git-mailsplit.txt | 4 ++++
Documentation/git-merge-base.txt | 4 ++++
Documentation/git-merge-index.txt | 4 ++++
Documentation/git-merge-one-file.txt | 4 ++++
Documentation/git-merge.txt | 4 ++++
Documentation/git-mktag.txt | 4 ++++
Documentation/git-mv.txt | 4 ++++
Documentation/git-name-rev.txt | 4 ++++
Documentation/git-pack-objects.txt | 4 ++++
Documentation/git-pack-redundant.txt | 4 ++++
Documentation/git-parse-remote.txt | 4 ++++
Documentation/git-patch-id.txt | 4 ++++
Documentation/git-peek-remote.txt | 4 ++++
Documentation/git-prune-packed.txt | 4 ++++
Documentation/git-prune.txt | 4 ++++
Documentation/git-pull.txt | 4 ++++
Documentation/git-push.txt | 4 ++++
Documentation/git-read-tree.txt | 4 ++++
Documentation/git-rebase.txt | 4 ++++
Documentation/git-receive-pack.txt | 4 ++++
Documentation/git-relink.txt | 4 ++++
Documentation/git-repack.txt | 4 ++++
Documentation/git-repo-config.txt | 4 ++++
Documentation/git-request-pull.txt | 4 ++++
Documentation/git-rerere.txt | 4 ++++
Documentation/git-reset.txt | 4 ++++
Documentation/git-resolve.txt | 4 ++++
Documentation/git-rev-list.txt | 4 ++++
Documentation/git-rev-parse.txt | 4 ++++
Documentation/git-revert.txt | 4 ++++
Documentation/git-send-email.txt | 4 ++++
Documentation/git-send-pack.txt | 4 ++++
Documentation/git-sh-setup.txt | 4 ++++
Documentation/git-shell.txt | 4 ++++
Documentation/git-shortlog.txt | 4 ++++
Documentation/git-show-branch.txt | 4 ++++
Documentation/git-show-index.txt | 4 ++++
Documentation/git-show.txt | 4 ++++
Documentation/git-ssh-fetch.txt | 4 ++++
Documentation/git-ssh-upload.txt | 4 ++++
Documentation/git-status.txt | 4 ++++
Documentation/git-stripspace.txt | 4 ++++
Documentation/git-svnimport.txt | 4 ++++
Documentation/git-symbolic-ref.txt | 4 ++++
Documentation/git-tag.txt | 4 ++++
Documentation/git-tar-tree.txt | 5 +++++
Documentation/git-unpack-file.txt | 4 ++++
Documentation/git-unpack-objects.txt | 4 ++++
Documentation/git-update-index.txt | 18 ++++++++++++++++++
Documentation/git-update-ref.txt | 4 ++++
Documentation/git-update-server-info.txt | 4 ++++
Documentation/git-upload-pack.txt | 4 ++++
Documentation/git-var.txt | 4 ++++
Documentation/git-verify-pack.txt | 4 ++++
Documentation/git-verify-tag.txt | 4 ++++
Documentation/git-whatchanged.txt | 4 ++++
Documentation/git-write-tree.txt | 4 ++++
106 files changed, 449 insertions(+), 0 deletions(-)
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index ae24547..908fd6c 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -77,6 +77,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-add implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index 910457d..4e0037b 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -96,6 +96,10 @@ Documentation
--------------
Documentation by Petr Baudis, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-am implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index 1c64a1a..d26f051 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -135,6 +135,10 @@ Documentation
--------------
Documentation by Junio C Hamano
+Linking Information
+-------------------
+Use of the git-apply implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-applymbox.txt b/Documentation/git-applymbox.txt
index f74c6a4..3315fd8 100644
--- a/Documentation/git-applymbox.txt
+++ b/Documentation/git-applymbox.txt
@@ -86,6 +86,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-applymbox implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-applypatch.txt b/Documentation/git-applypatch.txt
index 2b1ff14..e2e9f08 100644
--- a/Documentation/git-applypatch.txt
+++ b/Documentation/git-applypatch.txt
@@ -44,6 +44,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-apply implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-archimport.txt b/Documentation/git-archimport.txt
index 5a13187..47336b4 100644
--- a/Documentation/git-archimport.txt
+++ b/Documentation/git-archimport.txt
@@ -100,6 +100,10 @@ Documentation
--------------
Documentation by Junio C Hamano, Martin Langhoff and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-archimport implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.txt
index ac4b496..a087fa6 100644
--- a/Documentation/git-bisect.txt
+++ b/Documentation/git-bisect.txt
@@ -130,6 +130,10 @@ Documentation
-------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-bisect implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt
index 71ecd85..c8d027f 100644
--- a/Documentation/git-branch.txt
+++ b/Documentation/git-branch.txt
@@ -73,6 +73,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-branch implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-cat-file.txt b/Documentation/git-cat-file.txt
index 504eb1b..55012c3 100644
--- a/Documentation/git-cat-file.txt
+++ b/Documentation/git-cat-file.txt
@@ -61,6 +61,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-cat-file implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt
index 7dc1bdb..9393990 100644
--- a/Documentation/git-check-ref-format.txt
+++ b/Documentation/git-check-ref-format.txt
@@ -46,6 +46,10 @@ refname expressions (see gitlink:git-rev
. colon `:` is used as in `srcref:dstref` to mean "use srcref\'s
value and store it in dstref" in fetch and push operations.
+Linking Information
+-------------------
+Use of the git-check-ref-format implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
diff --git a/Documentation/git-checkout-index.txt b/Documentation/git-checkout-index.txt
index 09bd6a5..10704fc 100644
--- a/Documentation/git-checkout-index.txt
+++ b/Documentation/git-checkout-index.txt
@@ -178,6 +178,9 @@ Documentation
Documentation by David Greaves,
Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-checkout-index implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
GIT
---
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 985bb2f..22755b8 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -138,10 +138,18 @@ Author
------
Written by Linus Torvalds <torvalds@osdl.org>
+License Implications
+--------------------
+Use of the git-checkout program does NOT constitute
+
Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-checkout implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt
index bfa950c..3ac1600 100644
--- a/Documentation/git-cherry-pick.txt
+++ b/Documentation/git-cherry-pick.txt
@@ -54,6 +54,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-cherry-pick implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-cherry.txt b/Documentation/git-cherry.txt
index 9a5e371..b65db2f 100644
--- a/Documentation/git-cherry.txt
+++ b/Documentation/git-cherry.txt
@@ -36,6 +36,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-cherry implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-clone-pack.txt b/Documentation/git-clone-pack.txt
index 09f43ee..7f6a850 100644
--- a/Documentation/git-clone-pack.txt
+++ b/Documentation/git-clone-pack.txt
@@ -57,6 +57,10 @@ Documentation
--------------
Documentation by Junio C Hamano.
+Linking Information
+-------------------
+Use of the git-clone implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index 9ac54c2..50ec673 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -136,6 +136,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-clone implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.txt
index 41d1a1c..27b3d12 100644
--- a/Documentation/git-commit-tree.txt
+++ b/Documentation/git-commit-tree.txt
@@ -94,6 +94,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-commit-tree implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index d04b342..2bf2477 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -141,6 +141,10 @@ Author
Written by Linus Torvalds <torvalds@osdl.org> and
Junio C Hamano <junkio@cox.net>
+Linking Information
+-------------------
+Use of the git-commit implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
diff --git a/Documentation/git-convert-objects.txt b/Documentation/git-convert-objects.txt
index b1220c0..8bb7e2f 100644
--- a/Documentation/git-convert-objects.txt
+++ b/Documentation/git-convert-objects.txt
@@ -23,6 +23,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-convert-objects implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-count-objects.txt b/Documentation/git-count-objects.txt
index 47216f4..4c27d97 100644
--- a/Documentation/git-count-objects.txt
+++ b/Documentation/git-count-objects.txt
@@ -22,6 +22,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-count-objects implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-cvsexportcommit.txt b/Documentation/git-cvsexportcommit.txt
index d30435a..081d14d 100644
--- a/Documentation/git-cvsexportcommit.txt
+++ b/Documentation/git-cvsexportcommit.txt
@@ -70,6 +70,10 @@ Documentation
--------------
Documentation by Martin Langhoff <martin@catalyst.net.nz>
+Linking Information
+-------------------
+Use of the git-cvsexportcommit implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt
index b0c6d7c..32798b6 100644
--- a/Documentation/git-cvsimport.txt
+++ b/Documentation/git-cvsimport.txt
@@ -135,6 +135,10 @@ Documentation
--------------
Documentation by Matthias Urlichs <smurf@smurf.noris.de>.
+Linking Information
+-------------------
+Use of the git-cvsimport implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt
index 4dc13c3..0e0be49 100644
--- a/Documentation/git-cvsserver.txt
+++ b/Documentation/git-cvsserver.txt
@@ -143,6 +143,10 @@ Documentation
--------------
Documentation by Martyn Smith <martyn@catalyst.net.nz> and Martin Langhoff <martin@catalyst.net.nz> Matthias Urlichs <smurf@smurf.noris.de>.
+Linking Information
+-------------------
+The situation with the git CVS server is much the same as git-daemon. However, most of the CVS protocol cannot be said to be "internal functions", as the CVS protocol is a fairly simple translation of CVS commands to a network pipe.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index 924a676..c3e1363 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -96,6 +96,18 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+This is not a command line access to a library function as other programs, rather it is a daemon which offers parts of the git API over the network.
+
+Currently no special GPL exception is granted to reimplementations of the git protocol that deal with non user-interface functions. As many methods of the git network protocol requires the ability to request packs - an internal API function - currently accessing git repositories over a network requires the freedoms granted by the GPL to hold for those programs.
+
+So, for instance, a reimplementation of `git-ls-remote' would not be required to be Free Software, but a reimplementation of `git-send-pack' would. Even a complete reimplementation of `git-clone', a user interface program, would be required to be Free Software - as by necessity it must speak to internal git API functions that are exported over the network.
+
+Note that the only impact of this is that you cannot sell or give away software to people that directly uses any of the internal API methods of git via the git protocol (as documented on their corresponding manual page), unless you can also give them the source code to the application that you use for this if they ask, unencumbered from restrictions as required by the GPL. A re-implementation designed to be Free Software under a non-copyleft license, such as the BSD license with the ''obnoxious advertising clause'' removed, is acceptable, and may only be linked with a non-free program if the logical interface it presents to the git repository that was not based around the git internal API.
+
+Accessing git repositories via HTTP does not pose this 'problem', for instance.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt
index 7a253ea..45e905e 100644
--- a/Documentation/git-describe.txt
+++ b/Documentation/git-describe.txt
@@ -73,6 +73,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-describe implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-diff-files.txt b/Documentation/git-diff-files.txt
index 481b8b3..ba2ccef 100644
--- a/Documentation/git-diff-files.txt
+++ b/Documentation/git-diff-files.txt
@@ -52,6 +52,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-diff-files implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-diff-index.txt b/Documentation/git-diff-index.txt
index 5d2096a..106a6b3 100644
--- a/Documentation/git-diff-index.txt
+++ b/Documentation/git-diff-index.txt
@@ -127,6 +127,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-diff-index implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-diff-stages.txt b/Documentation/git-diff-stages.txt
index 3273918..6612cb9 100644
--- a/Documentation/git-diff-stages.txt
+++ b/Documentation/git-diff-stages.txt
@@ -35,6 +35,10 @@ Documentation
--------------
Documentation by Junio C Hamano.
+Linking Information
+-------------------
+Use of the git-diff-stages implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt
index 9153e4c..a4cf85f 100644
--- a/Documentation/git-diff-tree.txt
+++ b/Documentation/git-diff-tree.txt
@@ -156,6 +156,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-diff-tree implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt
index 890931c..483d05e 100644
--- a/Documentation/git-diff.txt
+++ b/Documentation/git-diff.txt
@@ -110,6 +110,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-diff implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-fetch-pack.txt b/Documentation/git-fetch-pack.txt
index bff9aa6..ca781e8 100644
--- a/Documentation/git-fetch-pack.txt
+++ b/Documentation/git-fetch-pack.txt
@@ -68,6 +68,10 @@ Documentation
--------------
Documentation by Junio C Hamano.
+Linking Information
+-------------------
+Use of the git-fetch-pack implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt
index a9e86fd..38f5c3d 100644
--- a/Documentation/git-fetch.txt
+++ b/Documentation/git-fetch.txt
@@ -43,6 +43,10 @@ Documentation
-------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-fetch implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt
index a70eb39..e18edfe 100644
--- a/Documentation/git-fmt-merge-msg.txt
+++ b/Documentation/git-fmt-merge-msg.txt
@@ -33,6 +33,10 @@ Documentation
--------------
Documentation by Petr Baudis, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-format-patch implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
index 7cc7faf..8237fb0 100644
--- a/Documentation/git-format-patch.txt
+++ b/Documentation/git-format-patch.txt
@@ -109,6 +109,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-format-patch implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-fsck-objects.txt b/Documentation/git-fsck-objects.txt
index 93ce9dc..da5729a 100644
--- a/Documentation/git-fsck-objects.txt
+++ b/Documentation/git-fsck-objects.txt
@@ -133,6 +133,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-fsck-objects implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-get-tar-commit-id.txt b/Documentation/git-get-tar-commit-id.txt
index 48805b6..266fb8e 100644
--- a/Documentation/git-get-tar-commit-id.txt
+++ b/Documentation/git-get-tar-commit-id.txt
@@ -31,6 +31,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-get-tar-commit-id implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt
index fbd2394..a1287fe 100644
--- a/Documentation/git-grep.txt
+++ b/Documentation/git-grep.txt
@@ -50,6 +50,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-grep implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-hash-object.txt b/Documentation/git-hash-object.txt
index 04e8d00..fd4b7ca 100644
--- a/Documentation/git-hash-object.txt
+++ b/Documentation/git-hash-object.txt
@@ -40,6 +40,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-hash-object implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-http-fetch.txt b/Documentation/git-http-fetch.txt
index bc1a132..8b5a990 100644
--- a/Documentation/git-http-fetch.txt
+++ b/Documentation/git-http-fetch.txt
@@ -41,6 +41,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-http-fetch implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-http-push.txt b/Documentation/git-http-push.txt
index 7e1f894..e009d2c 100644
--- a/Documentation/git-http-push.txt
+++ b/Documentation/git-http-push.txt
@@ -84,6 +84,10 @@ Documentation
--------------
Documentation by Nick Hengeveld
+Linking Information
+-------------------
+Use of the git-http-push implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.txt
index 71ce557..94bb0da 100644
--- a/Documentation/git-index-pack.txt
+++ b/Documentation/git-index-pack.txt
@@ -38,6 +38,10 @@ Documentation
-------------
Documentation by Sergey Vlasov
+Linking Information
+-------------------
+Use of the git-index-pack implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-init-db.txt b/Documentation/git-init-db.txt
index aeb1115..96007c2 100644
--- a/Documentation/git-init-db.txt
+++ b/Documentation/git-init-db.txt
@@ -76,6 +76,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-init-db implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-local-fetch.txt b/Documentation/git-local-fetch.txt
index 87abec1..4c13efe 100644
--- a/Documentation/git-local-fetch.txt
+++ b/Documentation/git-local-fetch.txt
@@ -37,6 +37,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-local-fetch implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index e995d1b..6f8fe1a 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -56,6 +56,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-log implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-lost-found.txt b/Documentation/git-lost-found.txt
index f52a9d7..ef2a075 100644
--- a/Documentation/git-lost-found.txt
+++ b/Documentation/git-lost-found.txt
@@ -72,6 +72,9 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-lost-found implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
GIT
---
diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt
index e813f84..1d33050 100644
--- a/Documentation/git-ls-files.txt
+++ b/Documentation/git-ls-files.txt
@@ -228,6 +228,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-ls-files implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-ls-remote.txt b/Documentation/git-ls-remote.txt
index ae4c1a2..3870ab2 100644
--- a/Documentation/git-ls-remote.txt
+++ b/Documentation/git-ls-remote.txt
@@ -57,6 +57,10 @@ Author
------
Written by Junio C Hamano <junkio@cox.net>
+Linking Information
+-------------------
+Use of the git-ls-remote implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt
index 5bf6d8b..d624b21 100644
--- a/Documentation/git-ls-tree.txt
+++ b/Documentation/git-ls-tree.txt
@@ -67,6 +67,10 @@ Documentation by David Greaves, Junio C
This manual page is a stub. You can help the git documentation by expanding it.
+Linking Information
+-------------------
+Use of the git-ls-tree implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.txt
index ea0a065..92dea69 100644
--- a/Documentation/git-mailinfo.txt
+++ b/Documentation/git-mailinfo.txt
@@ -66,6 +66,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-mailinfo implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-mailsplit.txt b/Documentation/git-mailsplit.txt
index 209e36b..8bb1ff6 100644
--- a/Documentation/git-mailsplit.txt
+++ b/Documentation/git-mailsplit.txt
@@ -46,6 +46,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-mailsplit implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-merge-base.txt b/Documentation/git-merge-base.txt
index d1d56f1..d3d5eb0 100644
--- a/Documentation/git-merge-base.txt
+++ b/Documentation/git-merge-base.txt
@@ -27,6 +27,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-merge-base implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-merge-index.txt b/Documentation/git-merge-index.txt
index fbc986a..80b7a28 100644
--- a/Documentation/git-merge-index.txt
+++ b/Documentation/git-merge-index.txt
@@ -82,6 +82,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-merge-index implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-merge-one-file.txt b/Documentation/git-merge-one-file.txt
index 86aad37..4b4259f 100644
--- a/Documentation/git-merge-one-file.txt
+++ b/Documentation/git-merge-one-file.txt
@@ -24,6 +24,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-merge-one-file implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index 4ce799b..3c3a4ee 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -153,6 +153,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-merge implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-mktag.txt b/Documentation/git-mktag.txt
index 2860a3d..0f30a86 100644
--- a/Documentation/git-mktag.txt
+++ b/Documentation/git-mktag.txt
@@ -41,6 +41,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-mktag implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-mv.txt b/Documentation/git-mv.txt
index 207c43a..a320ff1 100644
--- a/Documentation/git-mv.txt
+++ b/Documentation/git-mv.txt
@@ -48,6 +48,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-mv implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-name-rev.txt b/Documentation/git-name-rev.txt
index 6870708..6245e3c 100644
--- a/Documentation/git-name-rev.txt
+++ b/Documentation/git-name-rev.txt
@@ -60,6 +60,10 @@ Documentation
--------------
Documentation by Johannes Schindelin.
+Linking Information
+-------------------
+Use of the git-name-rev implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.txt
index 4991f88..e31efa0 100644
--- a/Documentation/git-pack-objects.txt
+++ b/Documentation/git-pack-objects.txt
@@ -106,6 +106,10 @@ See Also
gitlink:git-repack[1]
gitlink:git-prune-packed[1]
+Linking Information
+-------------------
+Use of the git-pack-redundant implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-pack-redundant.txt b/Documentation/git-pack-redundant.txt
index 8fb0659..0015577 100644
--- a/Documentation/git-pack-redundant.txt
+++ b/Documentation/git-pack-redundant.txt
@@ -52,6 +52,10 @@ gitlink:git-pack-objects[1]
gitlink:git-repack[1]
gitlink:git-prune-packed[1]
+Linking Information
+-------------------
+Use of the git-pack-redundant implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-parse-remote.txt b/Documentation/git-parse-remote.txt
index fc27afe..3aedc73 100644
--- a/Documentation/git-parse-remote.txt
+++ b/Documentation/git-parse-remote.txt
@@ -43,6 +43,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-parse-remotes implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-patch-id.txt b/Documentation/git-patch-id.txt
index 723b8cc..b6bdeb2 100644
--- a/Documentation/git-patch-id.txt
+++ b/Documentation/git-patch-id.txt
@@ -37,6 +37,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-patch-id implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-peek-remote.txt b/Documentation/git-peek-remote.txt
index a00060c..33d3d83 100644
--- a/Documentation/git-peek-remote.txt
+++ b/Documentation/git-peek-remote.txt
@@ -46,6 +46,10 @@ Documentation
--------------
Documentation by Junio C Hamano.
+Linking Information
+-------------------
+Use of the git-peek-remote implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-prune-packed.txt b/Documentation/git-prune-packed.txt
index 2348826..05f0c52 100644
--- a/Documentation/git-prune-packed.txt
+++ b/Documentation/git-prune-packed.txt
@@ -45,6 +45,10 @@ See Also
gitlink:git-pack-objects[1]
gitlink:git-repack[1]
+Linking Information
+-------------------
+Use of the git-prune-packed implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-prune.txt b/Documentation/git-prune.txt
index f694fcb..2c01528 100644
--- a/Documentation/git-prune.txt
+++ b/Documentation/git-prune.txt
@@ -55,6 +55,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-prune implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index 51577fc..8710607 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -126,6 +126,10 @@ Documentation by Jon Loeliger,
David Greaves,
Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-pull implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index d5b5ca1..bc4f8bb 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -81,6 +81,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-push implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt
index 844cfda..54c409b 100644
--- a/Documentation/git-read-tree.txt
+++ b/Documentation/git-read-tree.txt
@@ -317,6 +317,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-read-tree implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index b36276c..37a79e2 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -69,6 +69,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-rebase implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-receive-pack.txt b/Documentation/git-receive-pack.txt
index 60debca..2cc1f5c 100644
--- a/Documentation/git-receive-pack.txt
+++ b/Documentation/git-receive-pack.txt
@@ -94,6 +94,10 @@ Documentation
--------------
Documentation by Junio C Hamano.
+Linking Information
+-------------------
+Use of the git-relink implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-relink.txt b/Documentation/git-relink.txt
index aca6012..bd35ee1 100644
--- a/Documentation/git-relink.txt
+++ b/Documentation/git-relink.txt
@@ -31,6 +31,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-relink implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index d2f9a44..2be4c3a 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -68,6 +68,10 @@ See Also
gitlink:git-pack-objects[1]
gitlink:git-prune-packed[1]
+Linking Information
+-------------------
+Use of the git-repack implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-repo-config.txt b/Documentation/git-repo-config.txt
index 26759a8..1cb3eb8 100644
--- a/Documentation/git-repo-config.txt
+++ b/Documentation/git-repo-config.txt
@@ -171,6 +171,10 @@ Documentation
--------------
Documentation by Johannes Schindelin.
+Linking Information
+-------------------
+Use of the git-repo-config implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-request-pull.txt b/Documentation/git-request-pull.txt
index 478a5fd..6c81e0b 100644
--- a/Documentation/git-request-pull.txt
+++ b/Documentation/git-request-pull.txt
@@ -34,6 +34,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-request-pull implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-rerere.txt b/Documentation/git-rerere.txt
index 8b6b651..bdf2943 100644
--- a/Documentation/git-rerere.txt
+++ b/Documentation/git-rerere.txt
@@ -172,6 +172,10 @@ Author
------
Written by Junio C Hamano <junkio@cox.net>
+Linking Information
+-------------------
+Use of the git-rerere implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt
index b7b9798..35b67e0 100644
--- a/Documentation/git-reset.txt
+++ b/Documentation/git-reset.txt
@@ -179,6 +179,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-reset implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-resolve.txt b/Documentation/git-resolve.txt
index 4e57c2b..5bf6f7f 100644
--- a/Documentation/git-resolve.txt
+++ b/Documentation/git-resolve.txt
@@ -30,6 +30,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-resolve implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt
index 8255ae1..bf658a7 100644
--- a/Documentation/git-rev-list.txt
+++ b/Documentation/git-rev-list.txt
@@ -110,6 +110,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-rev-list implementation this manual page documents constitutes deriving under section 2.b of the GPL, but only when used with the `--objects-edge' option. Use of the command without this option does not consititute deriving in this manner.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
index 8b95df0..164312b 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -181,6 +181,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-rev-parse implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-revert.txt b/Documentation/git-revert.txt
index 71f7815..bb27c42 100644
--- a/Documentation/git-revert.txt
+++ b/Documentation/git-revert.txt
@@ -51,6 +51,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-revert implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 8c58685..6a0171b 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -88,6 +88,10 @@ Documentation
--------------
Documentation by Ryan Anderson
+Linking Information
+-------------------
+Use of the git-send-email implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-send-pack.txt b/Documentation/git-send-pack.txt
index 08e0705..72f08de 100644
--- a/Documentation/git-send-pack.txt
+++ b/Documentation/git-send-pack.txt
@@ -105,6 +105,10 @@ Documentation
--------------
Documentation by Junio C Hamano.
+Linking Information
+-------------------
+Use of the git-send-pack implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-sh-setup.txt b/Documentation/git-sh-setup.txt
index 6742c9b..22bd477 100644
--- a/Documentation/git-sh-setup.txt
+++ b/Documentation/git-sh-setup.txt
@@ -29,6 +29,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-sh-setup implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-shell.txt b/Documentation/git-shell.txt
index cc4266d..8b63294 100644
--- a/Documentation/git-shell.txt
+++ b/Documentation/git-shell.txt
@@ -29,6 +29,10 @@ Documentation
--------------
Documentation by Petr Baudis and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-shell implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-shortlog.txt b/Documentation/git-shortlog.txt
index 54fb922..04939cb 100644
--- a/Documentation/git-shortlog.txt
+++ b/Documentation/git-shortlog.txt
@@ -24,6 +24,10 @@ Documentation
--------------
Documentation by Junio C Hamano.
+Linking Information
+-------------------
+Use of the git-shortlog implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-show-branch.txt b/Documentation/git-show-branch.txt
index f115b45..eb757a2 100644
--- a/Documentation/git-show-branch.txt
+++ b/Documentation/git-show-branch.txt
@@ -156,6 +156,10 @@ Documentation
--------------
Documentation by Junio C Hamano.
+Linking Information
+-------------------
+Use of the git-show-branch implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
diff --git a/Documentation/git-show-index.txt b/Documentation/git-show-index.txt
index be09b62..20050e3 100644
--- a/Documentation/git-show-index.txt
+++ b/Documentation/git-show-index.txt
@@ -29,6 +29,10 @@ Documentation
--------------
Documentation by Junio C Hamano
+Linking Information
+-------------------
+Use of the git-show-index implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-show.txt b/Documentation/git-show.txt
index 2b4df3f..9e5da1c 100644
--- a/Documentation/git-show.txt
+++ b/Documentation/git-show.txt
@@ -43,6 +43,10 @@ Documentation by David Greaves, Petr Bau
This manual page is a stub. You can help the git documentation by expanding it.
+Linking Information
+-------------------
+Use of the git-show implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-ssh-fetch.txt b/Documentation/git-ssh-fetch.txt
index b7116b3..5780278 100644
--- a/Documentation/git-ssh-fetch.txt
+++ b/Documentation/git-ssh-fetch.txt
@@ -45,6 +45,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-ssh-fetch implementation this manual page documents constitutes deriving under section 2.b of the GPL. See `git-pull' and `git-fetch' for an interface to this operation that does not.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-ssh-upload.txt b/Documentation/git-ssh-upload.txt
index 702674e..39bca11 100644
--- a/Documentation/git-ssh-upload.txt
+++ b/Documentation/git-ssh-upload.txt
@@ -41,6 +41,10 @@ Documentation
--------------
Documentation by Daniel Barkalow
+Linking Information
+-------------------
+Use of the git-ssh-upload implementation this manual page documents constitutes deriving under section 2.b of the GPL. See `git-push' for an interface to this operation that does not.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt
index e446f48..eef8082 100644
--- a/Documentation/git-status.txt
+++ b/Documentation/git-status.txt
@@ -39,6 +39,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-status implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-stripspace.txt b/Documentation/git-stripspace.txt
index 3a03dd0..53d9c77 100644
--- a/Documentation/git-stripspace.txt
+++ b/Documentation/git-stripspace.txt
@@ -27,6 +27,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-stripspace implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-svnimport.txt b/Documentation/git-svnimport.txt
index b1b87c2..9063762 100644
--- a/Documentation/git-svnimport.txt
+++ b/Documentation/git-svnimport.txt
@@ -154,6 +154,10 @@ Documentation
--------------
Documentation by Matthias Urlichs <smurf@smurf.noris.de>.
+Linking Information
+-------------------
+Use of the git-svnimport implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-symbolic-ref.txt b/Documentation/git-symbolic-ref.txt
index 68ac6a6..817825c 100644
--- a/Documentation/git-symbolic-ref.txt
+++ b/Documentation/git-symbolic-ref.txt
@@ -47,6 +47,10 @@ Author
------
Written by Junio C Hamano <junkio@cox.net>
+Linking Information
+-------------------
+Use of the git-symbolic-ref implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index 45476c2..d25573d 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -70,6 +70,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-unpack-file implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-tar-tree.txt b/Documentation/git-tar-tree.txt
index 2139b6f..06f50e4 100644
--- a/Documentation/git-tar-tree.txt
+++ b/Documentation/git-tar-tree.txt
@@ -32,6 +32,11 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-tar-tree implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-unpack-file.txt b/Documentation/git-unpack-file.txt
index 213dc81..d99c573 100644
--- a/Documentation/git-unpack-file.txt
+++ b/Documentation/git-unpack-file.txt
@@ -30,6 +30,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-unpack-file implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-unpack-objects.txt b/Documentation/git-unpack-objects.txt
index 1828062..3c410dc 100644
--- a/Documentation/git-unpack-objects.txt
+++ b/Documentation/git-unpack-objects.txt
@@ -36,6 +36,10 @@ Documentation
-------------
Documentation by Junio C Hamano
+Linking Information
+-------------------
+Use of the git-unpack-objects implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt
index 0a1b0ad..0150f92 100644
--- a/Documentation/git-update-index.txt
+++ b/Documentation/git-update-index.txt
@@ -305,6 +305,24 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-update-index implementation this manual page documents constitutes deriving under section 2.b of the GPL, unless only a selection of the following options are used:
+
+ --refresh
+ -q
+ --unmerged
+ --ignore-missing
+ --chmod
+ --assume-unchanged
+ --no-assume-unchanged
+ --force-remove
+ --replace
+ --stdin
+ --verbose
+ -z
+ --
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-update-ref.txt b/Documentation/git-update-ref.txt
index 475237f..88bd9c8 100644
--- a/Documentation/git-update-ref.txt
+++ b/Documentation/git-update-ref.txt
@@ -53,6 +53,10 @@ Author
------
Written by Linus Torvalds <torvalds@osdl.org>.
+Linking Information
+-------------------
+Use of the git-update-ref implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-update-server-info.txt b/Documentation/git-update-server-info.txt
index 88a03c7..2b34411 100644
--- a/Documentation/git-update-server-info.txt
+++ b/Documentation/git-update-server-info.txt
@@ -52,6 +52,10 @@ Documentation
--------------
Documentation by Junio C Hamano.
+Linking Information
+-------------------
+Use of the git-update-server-info implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-upload-pack.txt b/Documentation/git-upload-pack.txt
index 4795e98..6986faf 100644
--- a/Documentation/git-upload-pack.txt
+++ b/Documentation/git-upload-pack.txt
@@ -34,6 +34,10 @@ Documentation
--------------
Documentation by Junio C Hamano.
+Linking Information
+-------------------
+Use of the git-upload-pack implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-var.txt b/Documentation/git-var.txt
index 90cb157..8107975 100644
--- a/Documentation/git-var.txt
+++ b/Documentation/git-var.txt
@@ -55,6 +55,10 @@ Documentation
--------------
Documentation by Eric Biederman and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-var implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-verify-pack.txt b/Documentation/git-verify-pack.txt
index 4962d69..2cd65d7 100644
--- a/Documentation/git-verify-pack.txt
+++ b/Documentation/git-verify-pack.txt
@@ -48,6 +48,10 @@ Documentation
--------------
Documentation by Junio C Hamano
+Linking Information
+-------------------
+Use of the git-verify-pack implementation this manual page documents constitutes deriving under section 2.b of the GPL. Use `git-fsck-objects' for an interface to this operation that does not constitute linking.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-verify-tag.txt b/Documentation/git-verify-tag.txt
index 0f9bdb5..d0965f7 100644
--- a/Documentation/git-verify-tag.txt
+++ b/Documentation/git-verify-tag.txt
@@ -26,6 +26,10 @@ Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-verify-tag implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-whatchanged.txt b/Documentation/git-whatchanged.txt
index f02f939..7998835 100644
--- a/Documentation/git-whatchanged.txt
+++ b/Documentation/git-whatchanged.txt
@@ -75,6 +75,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-whatchanged implementation this manual page documents does not constitute deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
diff --git a/Documentation/git-write-tree.txt b/Documentation/git-write-tree.txt
index 77e12cb..bf71bfa 100644
--- a/Documentation/git-write-tree.txt
+++ b/Documentation/git-write-tree.txt
@@ -38,6 +38,10 @@ Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
+Linking Information
+-------------------
+Use of the git-write-tree implementation this manual page documents constitutes deriving under section 2.b of the GPL.
+
GIT
---
Part of the gitlink:git[7] suite
^ permalink raw reply related
* [RFC] Make dot-counting ignore ".1" at the end
From: Linus Torvalds @ 2006-03-23 1:50 UTC (permalink / raw)
To: David Mansfield; +Cc: Git Mailing List
In-Reply-To: <Pine.LNX.4.64.0603221723230.9196@g5.osdl.org>
I'm not 100% sure this is appropriate, but in general, I think "<rev>" and
"<rev>.1" should be considered the same thing, no? Which implies that
"1.1" and "1.1.1.1" are all the same thing, and collapse to just "1", ie a
zero dot-count. They are all the same version, after all, no?
This gets rid of the insane (?) special case of "1.1.1.1" that exists
there now, since it's now no longer a special case.
I also wonder if trailing ".1" revisions should be ignored when comparing
two revisions.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---
Yeah, I don't know RCS file logic. This may be completely broken.
diff --git a/cvsps.c b/cvsps.c
index 2695a0f..2ad1595 100644
--- a/cvsps.c
+++ b/cvsps.c
@@ -2357,9 +2357,16 @@ static int revision_affects_branch(CvsFi
static int count_dots(const char * p)
{
int dots = 0;
+ int len = strlen(p);
- while (*p)
- if (*p++ == '.')
+ while (len > 2) {
+ if (memcmp(p+len-2, ".1", 2))
+ break;
+ len -= 2;
+ }
+
+ while (len)
+ if (p[--len] == '.')
dots++;
return dots;
@@ -2613,7 +2620,7 @@ static void determine_branch_ancestor(Pa
/* HACK: we sometimes pretend to derive from the import branch.
* just don't do that. this is the easiest way to prevent...
*/
- d2 = (strcmp(rev->rev, "1.1.1.1") == 0) ? 0 : count_dots(rev->rev);
+ d2 = count_dots(rev->rev);
if (d2 > d1)
head_ps->ancestor_branch = rev->branch;
^ permalink raw reply related
* Re: Question about possible git races
From: Junio C Hamano @ 2006-03-23 1:46 UTC (permalink / raw)
To: Radoslaw Szkodzinski; +Cc: git
In-Reply-To: <200603230222.38978.astralstorm@o2.pl>
Radoslaw Szkodzinski <astralstorm@o2.pl> writes:
> For me fetch = git-*-fetch. Which in turn calls git-receive-pack.
Does anything other than git-send-pack call git-receive-pack?
For fetch, git-fetch-pack is called from the core level, but it
does not update refs itself. It writes out enough information
to its standard output so that the script calling it can update
the refs. So at the core level there cannot be any race, but
that does not necessarily mean existing scripts are race free.
Our barebone Porcelainish scripts _do_ use update-ref to do the
same lock - re-read - rename-to-update cycle when updating the
refs using that information, but that is something you
explicitly said you are not interested in ;-).
^ permalink raw reply
* Re: Best way to generate a git tree containing only a subset of commits from another tree?
From: Junio C Hamano @ 2006-03-23 1:38 UTC (permalink / raw)
To: Andreas Ericsson; +Cc: git, Anton Altaparmakov
In-Reply-To: <4421EF5F.3000601@op5.se>
Andreas Ericsson <ae@op5.se> writes:
> You would then do
>
> $ git checkout -b for-linus linus
>
> followed by either multiple
>
> $ git cherry-pick <commit-ish>
>
> or, if the commits are all in series, an iteration of the following
>
> $ git format-patch --stdout <start-commit>..<end-commit> | git am -k
With core git tools these two would be the idiom to use. It
might be more pleasant to use a specialized tool (such as StGIT)
designed to manage the changes meant for upstream.
> If you have several topic branches, one for each series of commits,
> you should be able to do an octopus, like so:
>
> $ git pull . <topic-branches-to-publish>
Octopus is orthogonal to the issue at hand. Further, I suspect
that the original repository by Anton is not that cleanly
organized to have such topic branches -- otherwise the question
would not have come up to begin with.
> If you *don't* have several topic branches, or if some commits aren't
> in topic-branches, you could try something like this (untested,
> although it shouldn't break anything except the for-linus branch which
> you can re-create fairly simply)
>
> $ for b in <topic-branches-for-linus>; do
> git checkout $b
> git rebase for-linus || (git reset --hard; echo $b >> to-merge)
> done
> # now merge what couldn't be rebased
> $ git checkout for-linus
> $ git pull . $(cat to-merge)
Now you lost me here. When rebase refuses because of
conflicting changes, you are doing "reset --hard" but I suspect
you meant "reset --hard ORIG_HEAD" to recover the original head.
Further, I would have expected you to be rebasing on top of
linus, not for-linus, in case you may already have pulled other
topic branches into it.
Your merging those branches that have conflicting changes on top
of for-linus (that starts out at Linus's tip) is sensible, but
one word of caution is the history contained within the topic
branch should be sane. What are you going to do with branches
that cleanly rebase on top of for-linus?
> ... If your vanilla tree is up-to-date and he pulls
> from you before pulling from someone else or adding other commits this
> isn't necessary, although you'll have to do
>
> $ git checkout linus; git pull . for-linus
>
> to get the vanilla branch up to speed with Linus' HEAD.
I am not sure I follow you here.
If Linus hasn't pulled from you, you can either just keep asking
(you do not have to update for-linus), or rebuild it based on
more recent Linus's tip.
$ git fetch linus ;# to update to Linus's tip
$ git checkout for-linus
$ git reset --hard linus
If Linus has pulled from you, there is nothing more than the
above for you to do. If you want to rebuild for-linus branch,
(maybe because you fixed things in some of your topic branches),
after the above, you could:
$ git pull . this-topic
$ git pull . that-topic
...
This is nicer to Linus _if_ your topics overlap with recent
changes to the Linus's tree. Otherwise you do not necessarily
have to rebuild for-linus branch.
^ permalink raw reply
* Fix branch ancestry calculation
From: Linus Torvalds @ 2006-03-23 1:29 UTC (permalink / raw)
To: David Mansfield; +Cc: Git Mailing List
Some branches don't get any ancestors at all, because their ancestor gets
a "dotcount" value of 0, and are thus not considered any better than not
having any ancestor. That's obviously wrong. Even a zero-dot-count
ancestor is better than having none at all.
This fixes the issue by making not having an ancestor branch have a
goodness value of -1, avoiding the problem (because even a zero dot-count
will be considered better).
Alternatively, the special-case for the "1.1.1.1" revision should be
removed (or made to imply a dot-count of 1).
Finally, I suspect that dot-counting in general should ignore any final
".1" counts, ie "1.2.1.1" should count the same as "1.2.1", which should
count the same as "1.2", which has a dot-count of 1.
That would automatically make any "1.1.1.1.1...." sequence always count as
having a dot-count of 0.
I'll send suggestion that as a separate patch, but in the meantime, this
is a separate issue, and obviously a bug-fix.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
----
diff --git a/cvsps.c b/cvsps.c
--- a/cvsps.c
+++ b/cvsps.c
@@ -2599,7 +2599,7 @@ static void determine_branch_ancestor(Pa
* note: rev is the pre-commit revision, not the post-commit
*/
if (!head_ps->ancestor_branch)
- d1 = 0;
+ d1 = -1;
else if (strcmp(ps->branch, rev->branch) == 0)
continue;
else if (strcmp(head_ps->ancestor_branch, "HEAD") == 0)
^ 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