<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/setup.c, branch v1.5.0-rc3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.5.0-rc3</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.5.0-rc3'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2007-01-21T03:10:26Z</updated>
<entry>
<title>Do not verify filenames in a bare repository</title>
<updated>2007-01-21T03:10:26Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2007-01-20T02:09:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=68025633e352264898de44ec4856552d9a3abece'/>
<id>urn:sha1:68025633e352264898de44ec4856552d9a3abece</id>
<content type='text'>
For example, it makes no sense to check the presence of a file
named "HEAD" when calling "git log HEAD" in a bare repository.

Noticed by Han-Wen Nienhuys.

Signed-off-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
</content>
</entry>
<entry>
<title>Detached HEAD (experimental)</title>
<updated>2007-01-08T11:02:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-01-02T07:31:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c847f537125ceab3425205721fdaaa834e6d8a83'/>
<id>urn:sha1:c847f537125ceab3425205721fdaaa834e6d8a83</id>
<content type='text'>
This allows "git checkout v1.4.3" to dissociate the HEAD of
repository from any branch.  After this point, "git branch"
starts reporting that you are not on any branch.  You can go
back to an existing branch by saying "git checkout master", for
example.

This is still experimental.  While I think it makes sense to
allow commits on top of detached HEAD, it is rather dangerous
unless you are careful in the current form.  Next "git checkout
master" will obviously lose what you have done, so we might want
to require "git checkout -f" out of a detached HEAD if we find
that the HEAD commit is not an ancestor of any other branches.
There is no such safety valve implemented right now.

On the other hand, the reason the user did not start the ad-hoc
work on a new branch with "git checkout -b" was probably because
the work was of a throw-away nature, so the convenience of not
having that safety valve might be even better.  The user, after
accumulating some commits on top of a detached HEAD, can always
create a new branch with "git checkout -b" not to lose useful
work done while the HEAD was detached.

We'll see.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Automatically detect a bare git repository.</title>
<updated>2006-12-31T06:22:13Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2006-12-31T04:30:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ad1a382fbb3ecb1bb017854a470816c815cc46c9'/>
<id>urn:sha1:ad1a382fbb3ecb1bb017854a470816c815cc46c9</id>
<content type='text'>
Many users find it unfriendly that they can create a bare git
repository easily with `git clone --bare` but are then unable to
run simple commands like `git log` once they cd into that newly
created bare repository.  This occurs because we do not check to
see if the current working directory is a git repository.

Instead of failing out with "fatal: Not a git repository" we should
try to automatically detect if the current working directory is
a bare repository and use that for GIT_DIR, and fail out only if
that doesn't appear to be true.

We test the current working directory only after we have tried
searching up the directory tree.  This is to retain backwards
compatibility with our previous behavior on the off chance that
a user has a 'refs' and 'objects' subdirectories and a 'HEAD'
file that looks like a symref, all stored within a repository's
associated working directory.

This change also consolidates the validation logic between the case
of GIT_DIR being supplied and GIT_DIR not being supplied, cleaning
up the code.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Move deny_non_fast_forwards handling completely into receive-pack.</title>
<updated>2006-10-31T03:35:16Z</updated>
<author>
<name>Shawn Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2006-10-30T22:35:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6fb75bed5c4a6ce099a24e581ea327e9de3ab8b0'/>
<id>urn:sha1:6fb75bed5c4a6ce099a24e581ea327e9de3ab8b0</id>
<content type='text'>
The 'receive.denynonfastforwards' option has nothing to do with
the repository format version.  Since receive-pack already uses
git_config to initialize itself before executing any updates we
can use the normal configuration strategy and isolate the receive
specific variables away from the core variables.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>add receive.denyNonFastforwards config variable</title>
<updated>2006-09-20T23:15:45Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2006-09-20T23:07:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=11031d7e9f34f6a20ff4a4bd4fa3e5e3c0024a57'/>
<id>urn:sha1:11031d7e9f34f6a20ff4a4bd4fa3e5e3c0024a57</id>
<content type='text'>
If receive.denyNonFastforwards is set to true, git-receive-pack will deny
non fast-forwards, i.e. forced updates. Most notably, a push to a repository
which has that flag set will fail.

As a first user, 'git-init-db --shared' sets this flag, since in a shared
setup, you are most unlikely to want forced pushes to succeed.

Signed-off-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Fix crash when GIT_DIR is invalid</title>
<updated>2006-08-04T18:30:19Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2006-08-04T15:46:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3a3c3fc42a021f11aa8f35dc40cc69d4d4af7224'/>
<id>urn:sha1:3a3c3fc42a021f11aa8f35dc40cc69d4d4af7224</id>
<content type='text'>
We used to test if a pointer was NULL, and if it was, try to access it.

Signed-off-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>setup_git_directory_gently: do not barf when GIT_DIR is given.</title>
<updated>2006-07-31T00:45:57Z</updated>
<author>
<name>Matthias Lederhofer</name>
<email>matled@gmx.net</email>
</author>
<published>2006-07-30T01:30:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=41e95f699088b14c6a949ec858499f98df4f34f6'/>
<id>urn:sha1:41e95f699088b14c6a949ec858499f98df4f34f6</id>
<content type='text'>
Earlier we barfed when GIT_DIR environment variable points at a
directory yet to be created, which made it impossible to use
configuration mechanism in "git-init-db".

Signed-off-by: Matthias Lederhofer &lt;matled@gmx.net&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>shared repository: optionally allow reading to "others".</title>
<updated>2006-06-10T08:31:31Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-06-10T06:09:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=94df2506edd76a886a1044376f8c99349b2f226e'/>
<id>urn:sha1:94df2506edd76a886a1044376f8c99349b2f226e</id>
<content type='text'>
This enhances core.sharedrepository to have additionally
specify that read and exec permissions to be given to others as
well.  It is useful when serving a repository via gitweb and
git-daemon that runs as a user outside the project group.

The configuration item can take the following values:

    [core]
	sharedrepository 	 ; the same as "group"
	sharedrepository = true  ; ditto
	sharedrepository = 1	 ; ditto
	sharedrepository = group ; allow rwx to group
	sharedrepository = all   ; allow rwx to group, allow rx to other
	sharedrepository = umask ; not shared - use umask

It also extends "git init-db" to take "--shared=all" and friends
from the command line.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>revision parsing: make "rev -- paths" checks stronger.</title>
<updated>2006-04-27T00:08:44Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-04-26T22:09:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ea92f41ff92b2fef54c8da4abb03c8101160a034'/>
<id>urn:sha1:ea92f41ff92b2fef54c8da4abb03c8101160a034</id>
<content type='text'>
If you don't have a "--" marker, then:

 - all of the arguments we are going to assume are pathspecs
   must exist in the working tree.

 - none of the arguments we parsed as revisions could be
   interpreted as a filename.

so that there really isn't any possibility of confusion in case
somebody does have a revision that looks like a pathname too.

The former rule has been in effect; this implements the latter.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Fix filename verification when in a subdirectory</title>
<updated>2006-04-26T19:16:21Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2006-04-26T17:15:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e23d0b4a4a55cc07e133905f0e9526b3550dd61b'/>
<id>urn:sha1:e23d0b4a4a55cc07e133905f0e9526b3550dd61b</id>
<content type='text'>
When we are in a subdirectory of a git archive, we need to take the prefix
of that subdirectory into accoung when we verify filename arguments.

Noted by Matthias Lederhofer

This also uses the improved error reporting for all the other git commands
that use the revision parsing interfaces, not just git-rev-parse. Also, it
makes the error reporting for mixed filenames and argument flags clearer
(you cannot put flags after the start of the pathname list).

[jc: with fix to a trivial typo noticed by Timo Hirvonen]

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
</feed>
