<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-prune-script, branch v0.99</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v0.99</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v0.99'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2005-07-08T17:57:21Z</updated>
<entry>
<title>Add "git-sh-setup-script" for common git shell script setup</title>
<updated>2005-07-08T17:57:21Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2005-07-08T17:57:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b33e9666082ce692e64ccfd688dc2a5075566f75'/>
<id>urn:sha1:b33e9666082ce692e64ccfd688dc2a5075566f75</id>
<content type='text'>
It sets up the normal git environment variables and a few helper
functions (currently just "die()"), and returns ok if it all looks like
a git archive.  So use it something like

	. git-sh-setup-script || die "Not a git archive"

to make the rest of the git scripts more careful and readable.
</content>
</entry>
<entry>
<title>fsck-cache: walk the 'refs' directory if the user doesn't give any</title>
<updated>2005-05-18T17:16:14Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@ppc970.osdl.org</email>
</author>
<published>2005-05-18T17:16:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1024932f019905ff1a9e06e5acbee441919d4d05'/>
<id>urn:sha1:1024932f019905ff1a9e06e5acbee441919d4d05</id>
<content type='text'>
explicit references for reachability analysis.

We already had that as separate logic in git-prune-script, so this
is not a new special case - it's an old special case moved into
fsck, making normal usage be much simpler.
</content>
</entry>
<entry>
<title>Introduce GIT_DIR environment variable.</title>
<updated>2005-05-10T05:57:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-05-10T05:57:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8ac069ac0ab34e751e5f96b0244a5fec10f3e54f'/>
<id>urn:sha1:8ac069ac0ab34e751e5f96b0244a5fec10f3e54f</id>
<content type='text'>
During the mailing list discussion on renaming GIT_ environment
variables, people felt that having one environment that lets the
user (or Porcelain) specify both SHA1_FILE_DIRECTORY (now
GIT_OBJECT_DIRECTORY) and GIT_INDEX_FILE for the default layout
would be handy.  This change introduces GIT_DIR environment
variable, from which the defaults for GIT_INDEX_FILE and
GIT_OBJECT_DIRECTORY are derived.  When GIT_DIR is not defined,
it defaults to ".git".  GIT_INDEX_FILE defaults to
"$GIT_DIR/index" and GIT_OBJECT_DIRECTORY defaults to
"$GIT_DIR/objects".

Special thanks for ideas and discussions go to Petr Baudis and
Daniel Barkalow.  Bugs are mine ;-)

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Rename environment variables.</title>
<updated>2005-05-10T00:57:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-05-10T00:57:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d19938ab6053e3dad75a68a60ef8cad1f378b0e5'/>
<id>urn:sha1:d19938ab6053e3dad75a68a60ef8cad1f378b0e5</id>
<content type='text'>
H. Peter Anvin mentioned that using SHA1_whatever as an
environment variable name is not nice and we should instead use
names starting with "GIT_" prefix to avoid conflicts.  Here is
what this patch does:

 * Renames the following environment variables:

    New name                           Old Name

    GIT_AUTHOR_DATE                    AUTHOR_DATE
    GIT_AUTHOR_EMAIL                   AUTHOR_EMAIL
    GIT_AUTHOR_NAME                    AUTHOR_NAME
    GIT_COMMITTER_EMAIL                COMMIT_AUTHOR_EMAIL
    GIT_COMMITTER_NAME                 COMMIT_AUTHOR_NAME
    GIT_ALTERNATE_OBJECT_DIRECTORIES   SHA1_FILE_DIRECTORIES
    GIT_OBJECT_DIRECTORY               SHA1_FILE_DIRECTORY

 * Introduces a compatibility macro, gitenv(), which does an
   getenv() and if it fails calls gitenv_bc(), which in turn
   picks up the value from old name while giving a warning about
   using an old name.

 * Changes all users of the environment variable to fetch
   environment variable with the new name using gitenv().

 * Updates the documentation and scripts shipped with Linus GIT
   distribution.

The transition plan is as follows:

 * We will keep the backward compatibility list used by gitenv()
   for now, so the current scripts and user environments
   continue to work as before.  The users will get warnings when
   they have old name but not new name in their environment to
   the stderr.

 * The Porcelain layers should start using new names.  However,
   just in case it ends up calling old Plumbing layer
   implementation, they should also export old names, taking
   values from the corresponding new names, during the
   transition period.

 * After a transition period, we would drop the compatibility
   support and drop gitenv().  Revert the callers to directly
   call getenv() but keep using the new names.

   The last part is probably optional and the transition
   duration needs to be set to a reasonable value.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Make git-prune-script executable again.</title>
<updated>2005-05-05T22:10:49Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-05-05T22:10:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9e30dd7c0ecc9f10372f31539d0122db97418353'/>
<id>urn:sha1:9e30dd7c0ecc9f10372f31539d0122db97418353</id>
<content type='text'>
I do not know why the executable bit was lost since the change went in as
GIT pull, not via e-mail patch, but here is a fix.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Merge http://members.cox.net/junkio/git-jc.git/</title>
<updated>2005-05-05T01:18:40Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@ppc970.osdl.org</email>
</author>
<published>2005-05-05T01:18:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d0d0d0bd3c2c4591ffbc292d7e082e8ad8f2057f'/>
<id>urn:sha1:d0d0d0bd3c2c4591ffbc292d7e082e8ad8f2057f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make "git-prune-script" take all refs into account.</title>
<updated>2005-05-05T00:26:41Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@ppc970.osdl.org</email>
</author>
<published>2005-05-05T00:26:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4feb7a016ae0b237af5e667277fa632326a58eac'/>
<id>urn:sha1:4feb7a016ae0b237af5e667277fa632326a58eac</id>
<content type='text'>
This avoids pruning the kernel v2.6.11 tree that now has a tag.
</content>
</entry>
<entry>
<title>Git-prune-script loses blobs referenced from an uncommitted cache.</title>
<updated>2005-05-04T08:33:33Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-05-04T08:33:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ae7c0c92c0713307986bcd1fb54fa0694aae962a'/>
<id>urn:sha1:ae7c0c92c0713307986bcd1fb54fa0694aae962a</id>
<content type='text'>
(updated from the version posted to GIT mailing list).

When a new blob is registered with update-cache, and before the cache
is written as a tree and committed, git-fsck-cache will find the blob
unreachable.  This patch adds a new flag, "--cache" to git-fsck-cache,
with which it keeps such blobs from considered "unreachable".

The git-prune-script is updated to use this new flag.  At the same time
it adds .git/refs/*/* to the set of default locations to look for heads,
which should be consistent with expectations from Cogito users.

Without this fix, "diff-cache -p --cached" after git-prune-script has
pruned the blob object will fail mysteriously and git-write-tree would
also fail.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] leftover bits for git rename</title>
<updated>2005-04-29T23:25:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-04-29T23:25:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0fc65a4572625405ff6dd9d8c16d835f2b1ebd49'/>
<id>urn:sha1:0fc65a4572625405ff6dd9d8c16d835f2b1ebd49</id>
<content type='text'>
Linus said:

    "Let's see what else I forgot.."

Not that many, but here they are.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>Add the simple scripts I used to do a merge with content conflicts.</title>
<updated>2005-04-18T19:15:10Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@ppc970.osdl.org</email>
</author>
<published>2005-04-18T19:15:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=839a7a06f35bf8cd563a41d6db97f453ab108129'/>
<id>urn:sha1:839a7a06f35bf8cd563a41d6db97f453ab108129</id>
<content type='text'>
They sure as hell aren't perfect, but they allow you to do:

	./git-pull-script {other-git-directory}

to do the initial merge, and if that had content clashes, you do

	merge-cache ./git-merge-one-file-script -a

which tries to auto-merge. When/if the auto-merge fails, it will
leave the last file in your working directory, and you can edit
it and then when you're happy you can do "update-cache filename"
on it. Re-do the merge-cache thing until there are no files left
to be merged, and now you can write the tree and commit:

	write-tree
	commit-tree .... -p $(cat .git/HEAD) -p $(cat .git/MERGE_HEAD)

and you're done.
</content>
</entry>
</feed>
