| From | Subject | Date |
|---|---|---|
| Shawn O. Pearce | Pushing into a repository with working directory?
So tonight on #git I think I answered for the 10th time why the
working directory doesn't update after a push to its associated
repository.
We all know its somewhat dangerous to push into the current branch
of a working directory, especially if that working directory contains
uncommitted changes, as HEAD no longer matches the index.
But we all also know its incredibly useful to be able to push into
a repository with a working directory, so we certainly don't want
to disallow it ...
| Jan 1, 9:51 pm 2007 |
| Shawn O. Pearce | Re: A note from the maintainer
Though a contributor should probably check the `maint`, `master`,
`next` or `pu` branches of git.git before sending a reminder.
Often we find that you have accepted a patch without comment (as
the patch is obviously correct and nobody else had a reason to
comment on it). In this case the patch will just appear in one of
the git.git branches, with no email indicating that.
--
Shawn.
-
| Jan 1, 8:47 pm 2007 |
| Junio C Hamano | A note from the maintainer
It has been a while since I sent this message out the last time,
and there seem to be some new people on the git list.
This message talks about how git.git is managed, and how you can
work with it.
* IRC and Mailing list
Many active members of development community hang around on #git
IRC channel. Its log is available at:
http://colabti.de/irclogger/irclogger_logs/git
[jc: Does anybody know a shortcut for "Today's" page on this
site? It irritates me having to click the latest ...
| Jan 1, 8:31 pm 2007 |
| Jakub Narebski | Jan 1, 5:38 pm 2007 | |
| Shawn O. Pearce | Re: Draft v1.5.0 release notes
Or even in public ones, but where access by dumb clients isn't
That's an interesting idea. Most users don't invoke init-db directly
however, they are using clone to copy someone else's repository.
But that option could easily be offered on both commands, with
Actually I wonder if "--min-version=current" shouldn't just be the
default. Most users are going to init-db or clone locally and use
only the current version of Git (or later) against that repository.
Though that probably would ...
| Jan 1, 7:57 pm 2007 |
| Junio C Hamano | Draft v1.5.0 release notes
The latest draft is kept as 'todo:v1.5.0.txt'. Since I've
merged the shallow clone changes, I've added a few sentences for
the series as well.
--
GIT v1.5.0 Release Notes
========================
Old news
--------
This section is for people who are upgrading from ancient
versions of git. Although all of the changes in this section
happened before the current v1.4.4 release, they are summarized
here in the v1.5.0 release notes for people who skipped earlier
versions.
In general, ...
| Jan 1, 5:08 pm 2007 |
| Steven Grimm | Re: Draft v1.5.0 release notes
For people in non-public development environments, where there's
absolutely no possibility of someone hitting a repo with an old client,
presumably these options should both be enabled. I wonder if it makes
sense to add an option to git-init-db to create a configuration file
with all the latest stuff enabled -- or better still, something like
git-init-db --min-version=1.4.2
that would enable all the non-backward-compatible stuff in the newly
created repository. And then a special case ...
| Jan 1, 7:31 pm 2007 |
| Junio C Hamano | What's cooking in git.git (topics)
Here are the topics that have been cooking. Commits prefixed
with '-' are only in 'pu' while commits prefixed with '+' are
in 'next'. The topics list the commits in reverse chronological
order.
* sp/mmap (Sat Dec 30 22:13:43 2006 -0500) 25 commits
+ Update packedGit config option documentation.
+ mmap: set FD_CLOEXEC for file descriptors we keep open for mmap()
+ pack-objects: fix use of use_pack().
+ Fix random segfaults in pack-objects.
+ Cleanup read_cache_from error handling.
+ ...
| Jan 1, 5:07 pm 2007 |
| Junio C Hamano | What's in git.git (stable)
A happy new year.
I think this is more-or-less it to start the -rc1 cycle.
I'll leave the window open for another week or so before people
come back from the christmas and new year break. I have not
been working on any of the potential changes other people talked
about recently on the list, but things like detached HEAD and
more generic per-branch customization may magically materialize
from somewhere as a robust and usable set of patches.
I also haven't reviewed the introductory ...
| Jan 1, 5:07 pm 2007 |
| Junio C Hamano | Re: i18n, alternative solution
We are not encouraging mixed encodings, mind you.
Even though we check and warn comits that do not have a valid
UTF-8 string, the users can make mistakes and people need be
able to look at them later. That is what we are solving.
At the same time we do NOT force inconvenience on projects that
want to use legacy encoding for whatever reason. The world is
not UTF-8 only, and encoding to UTF-8 is non-reversible a times
(positive return value from iconv(3)). Always re-coding to
UTF-8 will ...
| Jan 1, 12:44 pm 2007 |
| Robin Rosenberg | i18n, alternative solution
Hi and Happy New Year
Things are happening wrt to support for working with multiple locales, which
is nice to see. I've not had time to follow the development so these comments
(and code) may be considered somewhat late in the process.
What disturbes me is the complexity that the approach of storing multiple
encodings in the same repository results in. I was hacking another solution
earlier this autumn, that takes another approach, i.e. UTF-8 is the internal
encoding. period. If you want ...
| Jan 1, 7:47 am 2007 |
| Andrey Borzenkov | StGIT-0.11: Python exception when removing branch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Every time I try to remove a branch I get:
{pts/0}% stg branch --delete stable
Deleting branch "stable"...
Traceback (most recent call last):
File "/usr/bin/stg", line 43, in <module>
main()
File "/usr/lib/python2.5/site-packages/stgit/main.py", line 261, in main
command.func(parser, options, args)
File "/usr/lib/python2.5/site-packages/stgit/commands/branch.py", line 167,
in func
__delete_branch(args[0], options.force)
...
| Jan 1, 5:49 am 2007 |
| Michael S. Tsirkin | failed to read delta-pack.
I'm getting this with git 1.4.4.3:
remote: Generating pack...
remote: Done counting 1294 objects.
remote: Result has 916 objects.
remote: Deltifying 916 objects.
remote: 100% (916/916) done
Unpacking 916 objects
remote: Total 916, written 916 (delta 758), reused 0 (delta 0)
error: failed to read delta-pack base object
b47ceb21cfed93f410e6329040784d43864dab33
fatal: unpack-objects died with error code 1
Fetch failure: /mswg2/git/linux-2.6/.git
--
MST
-
| Jan 1, 2:49 am 2007 |
| Junio C Hamano | Re: http git and curl 7.16.0
Thanks, so it was a breakage on the .0 release on their side.
I'll leave this in place for now:
#if (LIBCURL_VERSION_NUM < 0x070c04) || (LIBCURL_VERSION_NUM == 0x071000)
#define NO_CURL_EASY_DUPHANDLE
#endif
which specifically marks 7.16.0 as dud.
-
| Jan 1, 1:08 am 2007 |
| Robert Fitzsimons | [RFC/PATCH] Add builtin git-last-modified.
This is a plumbing command which can be used by gitweb. It will scan
a list of commits and/or refs and return the time in seconds for the
youngest commit. This value can then be used to generate and check
the Last-Modified and Is-Modified-Since HTTP headers.
Signed-off-by: Robert Fitzsimons <robfitz@273k.net>
---
The following two commands lines are similar:
$ git for-each-ref --count=1 --sort=-committerdate '--format=%(committerdate)' refs/heads
$ git last-modified --branches
The ...
| Jan 1, 12:55 am 2007 |
| Shawn O. Pearce | Re: [RFC/PATCH] fail pull/merge early in the middle of c ...
I've seen this many times too. I don't understand why users cannot
read output messages and realize the current command failed, but
This penalty isn't very high though; its just a single pass through
the index to look for an unmerged entry. I think that small
penalty is worth the better error message here, and that's the guy
who just submitted patches to remove other penalties in pull and
merge talking. :-)
--
Shawn.
-
| Jan 1, 1:43 pm 2007 |
| Junio C Hamano | [RFC/PATCH] fail pull/merge early in the middle of confl ...
After a pull that results in a conflicted merge, a new user
often tries another "git pull" in desperation. When the index
is unmerged, merge backends correctly bail out without touching
either index nor the working tree, so this does not make the
wound any worse.
The user will however see several lines of messsages during this
process, such as "filename: needs merge", "you need to resolve
your current index first", "Merging...", and "Entry ... would be
overwritten by merge. Cannot merge.". ...
| Jan 1, 12:21 am 2007 |
| Eric Wong | [PATCH] git-svn: t/t9100-git-svn-basic: remove old check ...
We don't support the svn command-line client anymore; nor
do we support anything before SVN 1.1.0, so we can be certain
symlinks will be supported in the SVN repository.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
t/t9100-git-svn-basic.sh | 84 +++++++++++++++++++---------------------------
1 files changed, 35 insertions(+), 49 deletions(-)
diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh
index c22fe47..040da92 100755
--- a/t/t9100-git-svn-basic.sh
+++ ...
| Dec 31, 10:49 pm 2006 |
| Eric Wong | [PATCH] git-svn: t/t91??-*: optimize the tests a bit
This removes some unnecessary 'svn up' calls throughout
t9103-git-svn-graft-branches.sh:
* removed an 'svn log' call that was leftover from debugging
* removed multiple git-svn calls with a multi-init / multi-fetch
combination (which weren't tested before, either)
* replaced `rev-list ... | head -n1` with `rev-parse ...`
(not sure what I was thinking when I wrote that)
All this saves about 9 seconds from a test run
(53s -> 44s for 'make t91*') on my 1.3GHz ...
| Dec 31, 10:49 pm 2006 |
| Eric Wong | [PATCH] git-svn: remove svnadmin dependency from the tests
We require the libraries now, so we can create repositories
using them (and save some executable load time while we're at
it).
Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
t/lib-git-svn.sh | 39 +++++++++++++++++----------------------
1 files changed, 17 insertions(+), 22 deletions(-)
diff --git a/t/lib-git-svn.sh b/t/lib-git-svn.sh
index 99ada71..af42ccc 100644
--- a/t/lib-git-svn.sh
+++ b/t/lib-git-svn.sh
@@ -7,26 +7,10 @@ then
exit
fi
-perl -e 'use SVN::Core; ...
| Dec 31, 10:49 pm 2006 |
| Luben Tuikov | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Smells like another "newbie" protection.
Let me understand, someone here installed git, didn't read the then
man page of git-clone/pull/fetch, screwed up their repo, and decided
to change established behavior.
Regardless, I think addressable (named) branch specs are the way to go.
This will as well, unify/reconcile remotes/ and local stuff, since
it is already implemented for remotes/ .
Luben
-
| Jan 1, 6:28 pm 2007 |
| Theodore Tso | Re: [PATCH] Documentation: update git-pull.txt for clone ...
This should be mentioned in the 1.5 release notes --- that you won't
see a lot of the power the new git unless you create a new repository
using git-clone. For example, the man page for git-branch says that
"git branch -r" will list remote branches won't print anything if the
repository was originally cloned using an older version of git.
(I was using the version that shipped with Ubuntu Edgy before I
recently upgraded to the bleeding edge "next" branch so I could try
out the latest and ...
| Jan 1, 5:57 pm 2007 |
| Junio C Hamano | Re: [PATCH] Documentation: update git-pull.txt for clone ...
See list archives.
Because you are not required to use remote tracking branches.
By the way, I think we allow the name of the remote tracking
branch as well, but we do not advertise it -- always using
No. Remote is not about mapping -- if mapping is there you can
talk about it, but that is optional.
-
| Jan 1, 8:36 pm 2007 |
| Junio C Hamano | Re: [PATCH] Documentation: update git-pull.txt for clone ...
I was also somewhat confused by these examples. I think the
description is fine as long as we make it clear that they are
not meant to describe what an advanced user _could_ do with
various customizations, but to describe what happens with the
default configuration set up by git-clone.
-
| Jan 1, 5:12 pm 2007 |
| Theodore Tso | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Well, yes; since git-pull is implemented in terms of git-fetch
followed by a git-merge, that's why I talked about git-fetch. It is
git-fetch which uses remote.<non-URL>.{url,fetch}, not git-merge or
What do you mean by <branch-match> and <symbolic-ref match>?
Are you assuming some kind of glob match? If so, what are the
git-pull is implemented in terms of git-fetch. So if we make the
change to git-fetch, the changes naturally follow to git-pull. Or are
you proposing to change ...
| Jan 1, 6:08 pm 2007 |
| J. Bruce Fields | Re: [PATCH] Documentation: update git-pull.txt for clone ...
The simplest way to understand the current behavior is probably to
install the latest git, read the git-clone man page, clone a new
repository, and take a look at it.
Remote branches are stored in separate namespaces under
.git/refs/remotes/, so that they don't muck up your view of your local
branches, and so git can enforce different policies for them (such as
forbidding committing to them).
--b.
-
| Jan 1, 5:10 pm 2007 |
| Luben Tuikov | Re: [PATCH] Documentation: update git-pull.txt for clone ...
So is this no longer the case?
Can someone please bring me up to date?
What is going on?
-
| Jan 1, 5:01 pm 2007 |
| Luben Tuikov | Re: [PATCH] Documentation: update git-pull.txt for clone ...
I'm talking about more in terms of git-merge, but since git-pull
is a git-fetch and git-merge, I've been using git-pull for completeness.
IOW, I've tried to concentrate on a per-repo operations (merge) as opposed
More specifically,
branch.<branch-match>.<symbolic-ref match>.{fetch,merge}.
branch.<branch-match>..{fetch,merge} is allowed and defalts
to already implemented "git-pull".
branch..<symbolic-ref match>.{fetch,merge} is forbidden
since it is essentially remotes/ and is handled ...
| Jan 1, 4:56 pm 2007 |
| Luben Tuikov | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Absolutely correct. I just needed to respond to an obvious fact with
More complicated and exotic examples exist. See my response
No, no, no. Forget about the semantic attibute of "parent".
I could've called it "xyz" for that matter.
What I'm talking about is the concept of "branch spec". It
is a well known concept in SCMs.
We currently implement it, in git specific way, for remotes/
only, but not for local ("topic") branches.
Another way to look at it is that a Topic, can have ...
| Jan 1, 1:19 am 2007 |
| Luben Tuikov | Re: [PATCH] Documentation: update git-pull.txt for clone ...
So, "origin" now means "current branch".
NACK!
-
| Jan 1, 4:59 pm 2007 |
| Theodore Tso | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Luben,
Let me see if I can understand what you are asking for without using
the term "branch spec", which I don't think has been adequately
defined yet in this thread. (Where "the SCM industry has adopted"
isn't a definition. :-)
Currently, today, if you type:
git fetch <non-URL>
... it will look up "<non-URL>" in a single global namespace, which
(using only the new config scheme) is looked up in remote.<non-URL>
and remote.<non-URL>.{url,fetch} is used to control the operation ...
| Jan 1, 6:17 am 2007 |
| Luben Tuikov | Re: [PATCH] Documentation: update git-pull.txt for clone ...
I don't like "learning by observation" when there is an
intention -- i.e. I'd rather see a well written justification
of the intentions and design, as opposed to "poke at the black
box and try to figure it out".
It's like learning math by trying to memorize the formulas
as opposed to knowing how to derive them and why they are
the way they are.
I'm expecting a well written man page on the new stuff
_compared_ to the old stuff, similarly to Junio's response
to this very same email.
-
| Jan 1, 7:09 pm 2007 |
| Luben Tuikov | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Basically I want to _name_ the dependency, instead of having it be
implicit. One can extend that dependency, in more complicated
topic branch relationship, where for example, C extends B, B extends
A, A extends master, but B' also extends A, consider B' a "version"
of the extension which B implements. This is of course a trivial
example and more complicated ones exist.
Naming the dependency would give git greater coverage when it needs
to implement complicated source development ...
| Jan 1, 12:53 am 2007 |
| Luben Tuikov | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Yes, but I don't want to just type "git-pull", I want to explicitly
type "git-pull parent" and depending in which branch I'm at, "parent"
would have identical meaning but would merge a different branch... because
I'm in a different branch...
I did give an example of usage in my email to which you replied.
Yes. Beating on a dead horse. "branch.*" options simply do not cut it.
We can either get rid of them completely or extend them to where they
are actually useful. Globbing ...
| Dec 31, 10:13 pm 2006 |
| Luben Tuikov | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Yes. I've outlined them at least twice in this thread
already as well as in that same email of mine which you're replying
I mean "git-pull", as opposed to "git-pull <symbolic-ref>".
I.e. "branch.<branch-match>..{fetch,merge}" matches no symbolic
No, not at all.
Please see my last email to Junio in this thread. Depending on
how this new functionlity is implemented for git 1.5, the concept
of "branch spec" can be had by using a "dummy" [remote] spec,
used only as a command line match, ...
| Jan 1, 7:17 pm 2007 |
| J. Bruce Fields | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Wouldn't it do what you want if by default "git branch new" and "git
checkout -b new" set branch.* options that pointed at the "parent"
branch?
The only reason I can see to require the extra bit of syntax ("git-pull
parent" instead of "git-pull") is if for the same branch you expect to
sometimes pull from one source and sometimes from another, and the pulls
from those various sources are common enough that it's worth defining
some shortcuts for more than one of them.
I can imagine ...
| Dec 31, 10:45 pm 2006 |
| J. Bruce Fields | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Updated man page assuming that change; does this look any better?
--b.
[PATCH] Documentation: update git-pull.txt for new clone behavior
Update examples, stop using branch named "origin" as an example.
Remove large example of use of remotes; that particular case is
nicely automated by default, so it's not so pressing to explain, and
we can refer to git-repo-config for the details.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
---
Documentation/git-pull.txt | 69 ...
| Jan 1, 2:39 pm 2007 |
| Junio C Hamano | Re: [PATCH] Documentation: update git-pull.txt for clone ...
What's going on is clean-up towards v1.5.0-rc1 ;-).
- 'git clone' does not create a file that has a line that looks
like "Pull: master:origin" anywhere anymore.
- 'git clone' also does not create the traditional "'master' is
special and we map that to origin, others are mapped as is
under refs/heads/, and we have to drop 'origin' from the
remote side because that name we want to use to store their
'master'" layout.
So after a clone, you would get:
[remote "origin"]
...
| Jan 1, 5:21 pm 2007 |
| Junio C Hamano | Re: [PATCH] Documentation: update git-pull.txt for clone ...
You lost me here; I am guessing this is some sarcasm not worth
But what confuses me (and I think JBF shares the same confusion
with me) is that you had only one example "parent".
While I understand that it would make sense to define "parent"
for each branch in a downstream developer's workflow, (1) I do
not see the difference between your wording, "parent", and what
we traditionally have called "origin", and (2) I do not think of
relationship other than "parent" ("origin") that is ...
| Jan 1, 12:38 am 2007 |
| J. Bruce Fields | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Also, resend of the following patch:
--b.
[PATCH] Documentation: remove master:origin example from pull-fetch-param.txt
This is no longer a useful example.
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
---
Documentation/pull-fetch-param.txt | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/Documentation/pull-fetch-param.txt b/Documentation/pull-fetch-param.txt
index e852f41..8d4e950 100644
--- a/Documentation/pull-fetch-param.txt
+++ ...
| Jan 1, 2:40 pm 2007 |
| Junio C Hamano | Re: [PATCH] Documentation: update git-pull.txt for clone ...
If I am reading you correctly, you have multiple directories,
each with its own .git/ directory but major parts of these .git/
directories are shared (namely, objects/ and refs/). You would
not be able to have separate checkout in these directories if
you shared .git/HEAD and .git/index, so at least each of these
directories has these two files for its own.
Is that what you are doing?
If that is the case, I think you do not even have to have the
"branch spec" to express the patchflow ...
| Jan 1, 8:45 pm 2007 |
| Luben Tuikov | Re: [PATCH] Documentation: update git-pull.txt for clone ...
Ah, I see. Thanks Junio.
... And this is why I see some objections as to what I'm proposing
because it extends too far the extension itself of the old
behavior. (See below.)
Questions:
What is the reasonining of defining branch.<name>.merge to point
to the "remote's setup"? I would much, much rather stop the leak
of the remote's setup right at [remote] and contain it there,
while everything in [branch] would refer to local stuff.
So the above configuration would become:
[remote ...
| Jan 1, 7:05 pm 2007 |
| J. Bruce Fields | Re: [PATCH] Documentation: update git-pull.txt for clone ...
No, "origin" refers to the remote repository that you originally cloned
from.
Pulls always merge into the current branch. So it wouldn't make sense
to specify the current branch on the command line.
--b.
-
| Jan 1, 5:06 pm 2007 |
| Michael S. Tsirkin | Re: RFC: working with sparse work-copy: where to start?
Yes, I've been thinking about this problem. As far as the merge can be
done in-index it should be fine though. Maybe failing a merge if there are
merges that can't be done with the checked out subtree is the right thing to do.
But, this means that we should try harder to merge in-index
changes that touch non-checked-out files.
For example, a commit could touch a checked-out and non-checked out file,
and non-checked-out file could be index-mergeable but checked-out one
OK, I don't mind the ...
| Jan 1, 2:24 am 2007 |
| Shawn O. Pearce | Re: What's cooking in git.git (topics)
I know your testing is saying this series may be slightly faster than
the prior code in 'master', and at least on Linux can be so without
using a lot of virtual address space as mmap() is so fast there.
(Nice job kernel people!) Anyway, I haven't done any performance
testing on this myself. It would be nice to know more about how
I know you've stated a number of good reasons against "Avoid
git-fetch in `git-pull .` when possible.". One way I've thought
of trying to resolve that would be to ...
| Jan 1, 2:18 pm 2007 |
| Shawn O. Pearce | Re: [PATCH 3/4] Automatically detect a bare git repository.
Whoops. I assume you have your .gitignore populated with the other
files/directories in your home directory that shouldn't be under
Junio already stated why that may not be a good idea. My original
version of the patch did check the current directory first, but it
could match a working directory which isn't really a Git repository
but just looks sort of like one.
That wouldn't be backwards compatible, so I moved the current
directory check to just before failure. That version is the ...
| Jan 1, 1:57 pm 2007 |
| Shawn O. Pearce | Re: [PATCH 3/4] Automatically detect a bare git repository.
Probably not. `git --bare foo` is a Poreclain-ish level option
which has been supported for several versions. Removing it may
cause pain for users to retrain their fingers to just ignore it.
Besides `git --bare` can be used in cases where the bare Git
repository is actually located within another repository's working
directory and the automatic detection is picking up the other
repository's metadata and not the bare repository's metadata.
So I think --bare is still here to stay for a ...
| Jan 1, 2:01 pm 2007 |
| Junio C Hamano | [PATCH] git-fetch: remove .keep file even on other errors.
Actually removal of them is needed especially on errors. The
original code had the removal outside of the process which sets
the flag to tell the later step what to remove, but it runs as a
downstream of a pipeline and its effect was lost.
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
Nicolas Pitre <nico@cam.org> writes:
> [ resuming an old thread ]
Likewise... This should fix it, I think.
git-fetch.sh | 23 ++++++++++++++++-------
1 files changed, 16 insertions(+), 7 ...
| Jan 1, 1:42 pm 2007 |
| previous day | today | next day |
|---|---|---|
| December 31, 2006 | January 1, 2007 | December 31, 2006 |
