| From | Subject | Date |
|---|---|---|
| Junio C Hamano | [PATCH] A new merge stragety 'subtree'.
I've explained how I initially merged from Shawn's git-gui, but
some people might have wondered how I continue to pull from
him. I published the secret on 'pu' last night, but here is an
update that I currently have in my tree (still in 'pu').
The new merge strategy 'subtree' is a slightly modified
'recursive'. It merges current branch A with other branch
B using common merge base O (and if there are more than one
common merge bases, they are recursively merged), but it can
"shift" trees ...
| Feb 16, 6:49 pm 2007 |
| Junio C Hamano | Re: [PATCH] Fix incorrect diff of a link -> file change ...
Ah, I misunderstood.
I suspect you do not want to get random, unreliable executable
bit from lstat(), even when previously index recorded non
regular file for a path that is now a regular file. In
builtin-update-index.c, add_file_to_cache() has this:
ce->ce_mode = create_ce_mode(st.st_mode);
if (!trust_executable_bit) {
/* If there is an existing entry, pick the mode bits
* from it, otherwise assume unexecutable.
*/
int pos = cache_name_pos(path, namelen);
if (0 <= ...
| Feb 16, 5:15 pm 2007 |
| Johannes Sixt | [PATCH] Fix incorrect diff of a link -> file change if c ...
After this sequence:
$ ln -s foo A
$ git add A
$ git commit -m link
$ rm A && echo bar > A
the working copy contains a regular file A but HEAD contains A as a link.
Normally, at this point 'git diff HEAD' displays this change as a removal
of the link followed by an addition of a new file. But in a repository where
core.filemode is false this is displayed as a modification of the link.
The reason is that the check when the cached mode is allowed to override the
file's actual mode is not ...
| Feb 16, 4:09 pm 2007 |
| Johannes Sixt | Re: [PATCH] Fix incorrect diff of a link -> file change ...
Correct. But the breakage is still there. As you recall, the properties
S_IFREG and S_IFLNK are recorded in the st_mode, and the line of code that I
fixed trusts the index in too many cases, and copies the index's S_IFLNK over
the the stat() result, which said S_IFREG. So the diff engine loses the
information that it is should diff against a regular file, and thinks that
the working copy is a symlink.
Please change the last sentence of the commit message, which hopefully makes
the issue ...
| Feb 16, 4:30 pm 2007 |
| Junio C Hamano | Re: [PATCH] Fix incorrect diff of a link -> file change ...
I do not follow. core.filemode aka trust_executable_bit is
about executable bit and not symlink.
-
| Feb 16, 4:13 pm 2007 |
| Johannes Schindelin | Re: A note from the maintainer
Hi,
[jes: just stumbled over it:
http://colabti.de/irclogger/irclogger_log/git?date=]
Ciao,
Dscho
-
| Feb 16, 7:35 pm 2007 |
| Junio C Hamano | A note from the maintainer
It has been a while since I sent this message out the last time,
so it may be a good time to send it with updates again. There
seem to be some new people on the git list, especially now the
big release is out.
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 ...
| Feb 16, 3:31 pm 2007 |
| Johannes Schindelin | Re: monotone is slow
Hi,
But does it cook dinner?
Ciao,
Dscho
-
| Feb 16, 3:47 pm 2007 |
| Jon Smirl | monotone is slow
45 CPU minutes to do a pull. About 2hrs real time.
jonsmirl@jonsmirl:~$ ps aux | grep mtn
jonsmirl 8382 80.5 4.4 131444 115204 pts/0 S+ 14:54 45:44 mtn pull
And it worked, nothing was wrong. 1,500 revs pulled.
Let's convert the world to git.
--
Jon Smirl
jonsmirl@gmail.com
-
| Feb 16, 2:20 pm 2007 |
| Junio C Hamano | Re: Error.pm: add configuration variable in Makefile
The private copy is only to help people who build from the
source _and_ are lazy enough to install Error.pm from more
official sources (either CPAN or officially pacakged ones).
My preference is to never allow out private copy to leak into
binary packages, and have our binary packages _always_ depend on
the officially packaged ones.
-
| Feb 16, 2:18 pm 2007 |
| Michael | Error.pm: add configuration variable in Makefile
When compiling, we check in perl/Makefile.PL if Error.pm is available. If not,
we use our Error.pm instead. So, after a "make install" the system does have
an Error.pm. This is fine, unless we are used to create an
rpm/deb/whatever-it-is by ourselves and install it with the system's package
manager: in this case, in fact, the git package we are building will have an
Error.pm only if the package currently installed does not. Of course, once we
install the new package, the next one won't ship ...
| Feb 16, 2:00 pm 2007 |
| Larry Streepy | Re: removal of "percent done" messages from git pull
Hi Peter,
Yes, I did try that, but the underlying "git-fetch" command complains about
improper usage. So it seems that git-fetch-pack is not being called (or it
is called from git-fetch and git-fetch is failing to understand -q).
Thanks,
Larry.
-
| Feb 16, 12:56 pm 2007 |
| Peter Baumann | Re: removal of "percent done" messages from git pull
Have you tried with -q to make it more silent? (I didn't try this, but
normaly the git porcelain commands just pass the options they don't
understand to the underlying core commands; and git-fetch-pack has the
option -q for quiet)
-Peter
-
| Feb 16, 10:47 am 2007 |
| Larry Streepy | removal of "percent done" messages from git pull
I run a nightly script to build and test our product. I capture all the
output and email it to interested parties. One very annoying thing is the
"percent done" messages that come out of git pull. It results in log files
that look like this:
+ git pull
remote: Generating pack...
remote: Done counting 204 objects.
Result has 107 objects.
Deltifying 107 objects.
0% (1/107) done 1% (2/107) done 2% (3/107) dremote: one 3%
(4/107) done 4% (5/107) done 5% (6/107) done 6% ...
| Feb 16, 9:48 am 2007 |
| Bill Lear | Full disk behavior of git
I wanted to report an error we belatedly uncovered while using 1.4.4.1
to pull into a repo on a disk that filled up. We run a nightly script
to build our code base and we did not notice these errors in the build
until a few days later.
The build scripts continued to run each evening after this write
failure happened, and a subsequent pull showed this:
% git pull
remote: Generating pack...
remote: Done counting 369 objects.
remote: Result has 246 objects.
remote: Deltifying 246 ...
| Feb 16, 9:33 am 2007 |
| Nicolas Pitre | Re: suggested feature: someone mails me a blob, git plea ...
That is possible, but would be expensive similar to git-fsck-objects.
All objects for each commit would need to be searched for the matching
GIT adds a header of its own before object data. You therefore need to
use git-hash-object not sha1sum to get the right sha1 value.
Nicolas
-
| Feb 16, 9:48 am 2007 |
| Matthieu Moy | Re: suggested feature: someone mails me a blob, git plea ...
"git cat-file -p" does almost this : given the sha1sum for a blob, it
... but this is where it doesn't work :
http://www.kernel.org/pub/software/scm/git/docs/v1.5.0/git.html#Discussion
explains that the sha1sum used by git is the one of the blob _plus_
its header, so it's not the one you get with "sha1sum file".
But it should be possible to recompute the git sha1sum by recomputing
the magic formula sha1sum(<ascii type without space> + <space> +
<ascii decimal size> + <byte\0> + <binary ...
| Feb 16, 10:14 am 2007 |
| Mike Coleman | suggested feature: someone mails me a blob, git please t ...
Here's a suggestion for a git feature, if git doesn't already have it.
Since git generally doesn't use RCS-style keyword cookies (like
"$Id$"), it'd be nice to have some other way to identify an installed
file. Perhaps you'd want to know exactly what rev a user is running,
for example.
It seems like it should be fairly easy, given a blob (the file), for
git to describe what it knows about it. For example, it could provide
a list of commits that it's a part of, etc. It'd be *really* nice ...
| Feb 16, 9:23 am 2007 |
| Linus Torvalds | Re: suggested feature: someone mails me a blob, git plea ...
Yes. Try this:
[torvalds@woody git]$ ls -l Makefile
-rw-rw-rw- 1 torvalds torvalds 27586 Feb 14 13:35 Makefile
[torvalds@woody git]$ ( echo -en "blob 27586\0" ; cat Makefile ) | sha1sum
ebecbbd9c28390654ed9fea2ff4ebf6a5a317c70 -
[torvalds@woody git]$ git ls-tree HEAD Makefile
100644 blob ebecbbd9c28390654ed9fea2ff4ebf6a5a317c70 Makefile
and notice how the SHA1's match (ebecbb..).
Now, finding all of the copies of that particular object in history is
pretty expensive. ...
| Feb 16, 10:37 am 2007 |
| Johannes Schindelin | Re: [PATCH] pager: use an environment variable for pager ...
Hi,
Sorry.
Still, it feels wrong to use two system calls when you need none.
How about working on making status and commit a builtin instead? This
would not only solve your issue, but portability issues as well.
Ciao,
Dscho
-
| Feb 16, 12:06 pm 2007 |
| Simon 'corecode' Sch ... | Re: [PATCH] pager: use an environment variable for pager ...
getenv() is usually no system call, but processed in userland.
However, I also always get the feeling that using environment variables w=
ithin one process to communicate state seems wrong, but many old unix too=
ls do it this way.
cheers
simon
--=20
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low =E2=82=AC=E2=82=AC=E2=82=AC NOW!1 +++=
Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML ...
| Feb 16, 12:43 pm 2007 |
| Jeff King | Re: [BUG] git -p status does not use colors
Your analysis looks right to me. I think you would need to set
GIT_PAGER_IN_USE in the environment whenever you turn on the pager in
the git wrapper, and then set git's internal pager_in_use variable based
on that.
-Peff
-
| Feb 16, 8:56 am 2007 |
| Johannes Schindelin | Re: [PATCH] pager: use an environment variable for pager ...
Hi,
Am I the only one who finds it ugly to set an environment variable for use
How about
+int pager_in_use = getenv("GIT_PAGER_IN_USE");
???
Ciao,
Dscho
-
| Feb 16, 11:35 am 2007 |
| Matthias Lederhofer | [PATCH] pager: use an environment variable for pager_in_use
When running a shell script the value of pager_in_use is
lost for later processes. Therefore pager_in_use is
replaced by the environment variable GIT_PAGER_IN_USE.
Signed-off-by: Matthias Lederhofer <matled@gmx.net>
---
This patch replaces pager_in_use because pager_in_use was only used at
two places (one sets it, the other reads it).
---
cache.h | 1 -
color.c | 2 +-
environment.c | 1 -
pager.c | 3 ++-
4 files changed, 3 insertions(+), 4 ...
| Feb 16, 11:22 am 2007 |
| Matthias Lederhofer | Re: [PATCH] pager: use an environment variable for pager ...
test.c:3: error: initializer element is not constant
So you could only add this at another place where pager_in_use is not yet
used (e.g. start of main or some other initialization method).
I did not want to put it at the beginning of main or another function.
After adding GIT_PAGER_IN_USE I thought it would make sense to remove
pager_in_use because there were only two parts of code using
-
| Feb 16, 11:56 am 2007 |
| Matthias Lederhofer | [BUG] git -p status does not use colors
git -p status starts the pager, then runs git-commit.sh (named
git-status) which in turn runs git-runstatus. I guess the problem is
that git-runstatus cannot check that the pager was started and just
knows that stdout is no terminal. Has anyone an idea how to fix
this?
-
| Feb 16, 8:19 am 2007 |
| Alex Riesen | Re: [PATCH] Allow config files to be included
The syntax is:
[include "filename"]
which is somewhat branch/remote-alike. There are a few differences, though:
filenames happen to be long, so a backslash is supported to split the
names into multiple lines. No bare LF allowed, so this is illegal:
[include "path/
name"]
On the other hand, this is allowed:
[include "path/\
name"]
Backslash is just to quote characters (as in shell).
Only one quoted string allowed, so this is bad too:
[include "path/" ...
| Feb 16, 7:45 am 2007 |
| Alex Riesen | [PATCH] Allow config files to be included
The syntax is:
[include "filename"]
which is somewhat branch/remote-alike. There are a few differences, though:
filenames happen to be long, so a backslash is supported to split the
names into multiple lines. No bare LF allowed, so this is illegal:
[include "path/
name"]
On the other hand, this is allowed:
[include "path/\
name"]
Backslash is just to quote characters (as in shell).
Only one quoted string allowed, so this is bad too:
[include "path/" ...
| Feb 16, 7:42 am 2007 |
| Johannes Schindelin | Re: [PATCH] Add git-unbundle - unpack objects and refere ...
Hi,
Why not just get rid of this unneeded dependency? It is _unneeded_. Maybe
you never suffered dependency hell (this is the only way I can explain
your resistance). It is _good_ to get rid of dependencies.
Ah whatever, if you don't just get rid of that tar dependency, I'll just
do it.
Ciao,
Dscho
-
| Feb 16, 3:51 pm 2007 |
| Mark Levedahl | Re: [PATCH] Add git-unbundle - unpack objects and refere ...
This one is easy, make tmp a directory, then build the tar file in that
directory so the archive members don't include the tmp name, then just
move the tar file to where it is needed...
tmp="$GIT_DIR/bundle_tmp$$"
references="$tmp/references"
pack="$tmp/pack"
trap 'rm -rf "$tmp"' 0 1 2 3 15
mkdir "$tmp" &&
echo "v1 git-bundle" > "$version" &&
------
# create the tar file, clean up
cd "$tmp" &&
tar cf bundle prerequisites references version pack &&
cd - &&
mv "$tmp/bundle" "$bfile" ...
| Feb 16, 2:58 pm 2007 |
| Mark Levedahl | Re: Re: [PATCH] Add git-unbundle - unpack objects and re ...
Let me ponder, I'm sure I can do something. As I noted in another response, Cygwin won't let me reliably pipe the pack file through bash, so I'm forced to use some archiver.
Mark
-
| Feb 16, 5:53 am 2007 |
| Junio C Hamano | Re: [PATCH] Add git-unbundle - unpack objects and refere ...
Mark, how urgent do you want to have "bundle" in my tree? As I
understand it, this came out of your working zip based
implementation your group already use, so I am suspecting that
you do not have urgent need to have a different one in git.git
in a half-baked shape.
The reason I say this is because I very much in favor of the
general idea of an archive file that can be used to sneakernet
repository updates, but I find the current bundle-unbundle
interface a bit awkward to integrate into the ...
| Feb 16, 12:57 pm 2007 |
| Mark Levedahl | Re: [PATCH] Add git-unbundle - unpack objects and refere ...
I can get my work done today with what I have. However, I really believe
bundle is a good addition to git, and I don't want to maintain an
As long as I can still do a "git fetch file.bdl" and without having to
do the config stuff. I'm happy. Integrating this bundle with basic git
approaches to things is obviously good. The frontend you outlined seems
a trivial rearrangement of what I already have, but I'll let this
discussion progress a bit further before I start doing that.
Mark
-
| Feb 16, 4:21 pm 2007 |
| Mark Levedahl | Re: Re: [PATCH] Add git-bundle - pack objects and refere ...
... I *tried* that, and it fails under Cygwin. Apparently cygwin's bash (or something) mangles data in the pipe (99% certain it will turn out to be a latent crlf issue)...
cat "$bfile" (
read refs...
git index-pack --stdin
)
worked several times, it only failed twice out of 8 bundles I tried. That's just a trifle bit too high a failure rate for my taste. ;^)
Mark
-
| Feb 16, 5:45 am 2007 |
| Mark Levedahl | Re: [PATCH] Add git-bundle - pack objects and references ...
In a word, yes. I tried many things with mount and CYGWIN, none fixed
the problem. What I don't have is a simple test case I can push upstream
to demonstrate the failure mode. However, if this is a crlf issue I
suspect this would not work in msys either, regardless of being able to
find the issue in Cygwin.
Mark
-
| Feb 16, 4:25 pm 2007 |
| Simon 'corecode' Sch ... | Re: [PATCH] Add git-bundle - pack objects and references ...
you can try something like:
sed -e '1,/^##DATA##$/d' "$bundle" | git-index-pack --stdin
and see if it works better. no need to stream the bundle completely, it =
can be read several times.
cheers
simon
--=20
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low =E2=82=AC=E2=82=AC=E2=82=AC NOW!1 +++=
Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! ...
| Feb 16, 6:25 am 2007 |
| Johannes Schindelin | Re: Re: [PATCH] Add git-bundle - pack objects and refere ...
Hi,
Have you tried
export CYGWIN=binmode
before that? (If it works, you have to make sure that other settings as
"ntsec" are retained in that environment variable, but not "nobinmode").
Hth,
Dscho
-
| Feb 16, 6:44 am 2007 |
| Jim Meyering | [PATCH] builtin-update-index.c (add_file_to_cache): Don' ...
Signed-off-by: Jim Meyering <jim@meyering.net>
---
builtin-update-index.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/builtin-update-index.c b/builtin-update-index.c
index 1ac613a..5b2278e 100644
--- a/builtin-update-index.c
+++ b/builtin-update-index.c
@@ -121,8 +121,10 @@ static int add_file_to_cache(const char *path)
ce->ce_mode = create_ce_mode(S_IFREG | 0666);
}
- if (index_path(ce->sha1, path, &st, !info_only))
+ if (index_path(ce->sha1, ...
| Feb 16, 2:01 am 2007 |
| Linus Torvalds | Re: [PATCH] builtin-update-index.c (add_file_to_cache): ...
Well, the only user of this does:
if (add_file_to_cache(p))
die("Unable to process file %s", path);
so the leak is very shortlived ;)
Linus
-
| Feb 16, 10:00 am 2007 |
| sbejar | Re: [PATCH/RFC 1/3] t/t5515-fetch-merge-logic.sh: Added ...
Hi *,
I think it didn't get to the list due to the size limit. So I send it
as a gziped attatchment, with the test inline.
Regards,
Santi
---
t/t5515-fetch-merge-logic.sh | 124 ++++++++++++++++++++
diff --git a/t/t5515-fetch-merge-logic.sh b/t/t5515-fetch-merge-logic.sh
new file mode 100755
index 0000000..8d8a71f
--- /dev/null
+++ b/t/t5515-fetch-merge-logic.sh
@@ -0,0 +1,124 @@
+#!/bin/sh
+#
+# Copyright (c) 2007 Santi Béjar, based on t4013 by ...
| Feb 16, 1:23 am 2007 |
| sbejar | Re: [PATCH/RFC 0/3] Split fetch and merge logic
On 2/16/07, Junio C Hamano <junkio@cox.net> wrote:
> Santi B
| Feb 16, 1:40 am 2007 |
| sbejar | Re: [PATCH/RFC 0/3] Split fetch and merge logic
On 2/16/07, Junio C Hamano <junkio@cox.net> wrote:
> "Santi B
| Feb 16, 1:30 pm 2007 |
| Junio C Hamano | Re: [PATCH/RFC 0/3] Split fetch and merge logic
What I said was an example. I do not think your code churning
actually would make it easier.
-
| Feb 16, 2:14 pm 2007 |
| sbejar | [PATCH/RFC 0/3] Split fetch and merge logic
This series implements the split of the fetch and merge logic.
The first patch adds tests for the merge logic. It is very extensive and
expensive (in time), so I just post this to show that (almost) nothing
changes (although some part of if could be included). And the third
patch shows what changes.
Santi Béjar (3):
t/t5515-fetch-merge-logic.sh: Added tests for the merge login in git-fetch
git-fetch: Split fetch and merge logic
t/t5515: fixes for the separate fetch and ...
| Feb 16, 1:06 am 2007 |
| Junio C Hamano | Re: [PATCH/RFC 0/3] Split fetch and merge logic
That's a description of what it does, but could you describe
what problem it solves, please?
The approach of presentation to introduce the test and showing
the behavior change in a later patch is very good, though.
-
| Feb 16, 1:22 am 2007 |
| sbejar | [PATCH/RFC 3/3] t/t5515: fixes for the separate fetch an ...
1) branch.*.merge no longer must exactly match the remote part
of the branch fetched. Both are expanded in full (as refs/heads/...)
and matched afterwards.
2) When the remote is specified with $GIT_DIR/branches/... and there is
a branch.*.merge, the remote branch name must match to get them merged.
Before the branch in $GIT_DIR/branches/... was always merged.
In the documentation the $GIT_DIR/branches/ is documented as a
short-hand for a corresponding file in ...
| Feb 16, 1:10 am 2007 |
| sbejar | [PATCH/RFC 2/3] git-fetch: Split fetch and merge logic
git-fetch fetches the branches from the remote and saves this
information in .git/FETCH_FETCHED, and at the end it generates
the file .git/FETCH_HEAD.
There are two cases where the behaviour is changed:
1) branch.*.merge no longer must exactly match the remote part
of the branch fetched. Both are expanded in full (as refs/heads/...)
and matched afterwards.
2) When the remote is specified with $GIT_DIR/branches/... and there is
a branch.*.merge, the remote branch name must match to ...
| Feb 16, 1:09 am 2007 |
| Junio C Hamano | Re: [PATCH/RFC 0/3] Split fetch and merge logic
But that is a solved problem, isn't it? What else does it
solve? The justification for moving around the logic could be
something like "these three patches do not do that themselves,
but it opens a door for further work such as ...", but without
something concrete in "..." part, your response makes the patch
look mostly needless code churn.
I was hoping to hear something like "now git-fetch has to do
much less than before, eventual C-rewrite of the command, which
can borrow some code ...
| Feb 16, 1:10 pm 2007 |
| Tommi Kyntola | [PATCH] git-blame: prevent argument parsing segfault
Description:
k@samael /localhome/k/git.git/git/gitweb % git-blame --incremental
zsh: segmentation fault git blame --incremental
The 3rd branch in builtin-blame.c should also check for lacking
arguments. Running that in top dir avoids the problem because
the 'prefix' is NULL. The --incremental is no to blame here,
it only triggers the segfault and even without that flag it goes
checking argv too far.
I didn't check the pu branch, and I'm sorry if this is a dupe.
cheers,
Tommi "Kynde" ...
| Feb 16, 12:38 am 2007 |
| Junio C Hamano | Re: [PATCH] git-blame: prevent argument parsing segfault
Thanks. Sign-off?
-
| Feb 16, 1:23 am 2007 |
| Junio C Hamano | Re: [PATCH] Add `git diff2`, a GNU diff workalike
Why diff2? I would have expected this to be a new low-level
sibling of diff-files and diff-index, which in turn hook into
I am still debating myself if these should be lstat(2) instead
If a/frotz is a file and b/frotz/nitfol is there, I do not think
we show an error; we say "a/frotz" was removed (see notes below,
I suspect your favorite path-list might not be optimal for this
kind of codeflow; wouldn't reading everything in an expanding
array and sorting them with a single qsort() after ...
| Feb 16, 1:06 am 2007 |
| Johannes Schindelin | Re: [PATCH] Add `git diff2`, a GNU diff workalike
Hi,
I planned this. However, I could not think of any sane way to handle the
case in an intuitive manner where you want to compare two _tracked_ files.
How would you do that in a consistent manner?
BTW I also realized that `git diff bla` will _not_ complain when the file
bla exists, but is untracked. Neither will it show a diff. I did not come
Well, it should probably be lstat(), with an addremove when one or both
You are right. But for the moment, I'll leave it, since it is one ...
| Feb 16, 7:01 am 2007 |
| Johannes Schindelin | Re: [PATCH] Add `git diff2`, a GNU diff workalike
Hi,
Thinking about this again, I do not know of any patch implementation which
removes a directory which just became empty, so dir->file is a real
problem. Also, if dir is empty, another problem looms.
So at least the dir->non-dir case should be an error.
BTW I just realized that diff2 as-is will output a diff header for _every_
file pair, even if they do compare equally. Actually, I like it, so I
don't want to imitate GNU diff behaviour here.
Ciao,
Dscho
P.S.: Here is a ...
| Feb 16, 7:20 am 2007 |
| Jeff King | Re: Dangers of working on a tracking branch
I think it will always work with the example you gave, because you are
simultaneously fetching into the tracking branch (which fails) and
merging from FETCH_HEAD (which succeeds) into that same tracking branch.
At best, though, the tracking branch you have is pointless (since you
immediately overwrite it anyway). The point of a tracking branch
generally is to allow you to do operations against your peer's idea of
the branch (e.g., diffing against upstream's version of "topic"). But
you can't ...
| Feb 16, 8:52 am 2007 |
| sbejar | Re: Dangers of working on a tracking branch
It no longer works with recent git, as of v1.4.4.1-37-gd25c26e. Now
git-fetch exit with a non-zero status when fast-forward check fails,
so the merge does not happen.
Santi
-
| Feb 16, 9:10 am 2007 |
| Bill Lear | Re: Dangers of working on a tracking branch
Ok, fair enough, but then I guess I'm back to my original question:
how can I give a concrete demonstration to our developers that this is
a bad thing?
This is not 100% required, so if you are tired of answering my
incessant questions, feel free to decline. I will be able to get our
group to move forward, simply because we need to try to stay current,
and there are lots of improvements in git besides this issue.
Bill
-
| Feb 16, 8:27 am 2007 |
| Nicolas Pitre | Re: Dangers of working on a tracking branch
Try this:
# create first repository
mkdir foo
cd foo
git init-db
echo FOO > biz
git add biz
git commit -a -m "commit 1 in foo"
# clone this repository elsewhere
cd ..
git clone foo bar
cd bar
# modify the tracking branch (origin in this case)
git checkout origin
echo BAR > biz
git commit -a -m "modify tracking branch in bar"
# go back to original repo and modify it
cd ../foo
echo BAZ > biz
git commit -a -m "modify master branch in foo"
# now back to ...
| Feb 16, 9:34 am 2007 |
| Bill Lear | Re: Dangers of working on a tracking branch
Ok, I'm trying to come up with an experiment that verifies this, so
I can give a concrete example to our developers.
I don't seem to be able to get it to fail, but I sure remember having
severe problems with this in practice. Here is my attempt, again with
git 1.4.4.1:
# Create my repo and add a file A
% mkdir my_repo
% cd my_repo
% git init-db
defaulting to local storage area
% echo A > A
% git add A && git commit -a -m "Add A"
Committing initial tree ...
| Feb 16, 8:13 am 2007 |
| Bill Lear | Re: Dangers of working on a tracking branch
Ok, that's basically what I was looking for --- incontrovertible
evidence from "them" (a git expert --- not me). Thanks very much
Nicolas.
Bill
-
| Feb 16, 9:40 am 2007 |
| Jeff King | Re: Dangers of working on a tracking branch
Because your pull command really means "merge in the topic branch from
peer_repo, and while you're at it, store it in my local tracking branch
topic". Remember that pull is really a fetch+merge. But the fetch is
actually doing _two_ things: putting the fetched branch into FETCH_HEAD,
and putting it in into refs/heads/topic. The latter fails (because of a
non-fastforward), but pull actually uses the FETCH_HEAD results to
do the merge.
Yes, this seems overly complex for what you're doing, but ...
| Feb 16, 8:21 am 2007 |
| Junio C Hamano | Re: [PATCH] pretend-sha1: grave bugfix.
My guess is that git-blame's blob handling has its own built-in
cache to avoid read_sha1_file(), and that single "initial" blob
is primed by hand, so read_sha1_file() is usually not called for
that object name.
-
| Feb 16, 12:29 am 2007 |
| Shawn O. Pearce | Re: [PATCH] pretend-sha1: grave bugfix.
Most definately. We never look at the pointer to an object's data if
len == 0, which it does in this case of merge-recursive's empty tree.
Aren't we using this for git-blame --contents? How'd that ever
work for a non-empty file?
--
Shawn.
-
| Feb 15, 10:09 pm 2007 |
| Mark Levedahl | Re: [PATCH] Add git-unbundle - unpack objects and refere ...
I'm not sure I follow the logic here. Assuming the object is a
prerequisite of the bundle and exists, it will be reachable from an
updated reference once the bundle is applied, no? In any case, Linus'
suggestion is very neat and fast, and I presume reliable.
Mark
-
| Feb 15, 11:22 pm 2007 |
| Shawn O. Pearce | Re: [PATCH] Add git-bundle - pack objects and references ...
I'm not sure this will work on FreeBSD. Both 5.1 and 6.1 use tar
that does not know about --absolute-names, --transform, --verbose,
or --show-transformed-names.
--
Shawn.
-
| Feb 15, 11:54 pm 2007 |
| Junio C Hamano | Re: [PATCH] Add git-unbundle - unpack objects and refere ...
The script already has $local at that point, so adding it to
update-ref is a no-cost change to make things safer. I think it
makes sense.
But I have to wonder... While someone else is _pushing_ into
it? Why are _you_ sneakernetting, then?
-
| Feb 16, 12:31 am 2007 |
| Shawn O. Pearce | Re: [PATCH] Add git-unbundle - unpack objects and refere ...
What about passing $local as the final argument to update-ref,
so that the ref won't be modified if someone changed it while
an unbundle was running? Sure its mostly a manual operation,
but imagine running it on a bare repository while someone else
is pushing into it...
--
Shawn.
-
| Feb 15, 11:48 pm 2007 |
| Mark Levedahl | [PATCH] Add git-bundle - pack objects and references for ...
Some workflows require coordinated development between repositories on
machines that can never be connected. This utility creates a bundle
containing a pack of objects and associated references (heads or tags)
that can be independently transferred to another machine, effectively
supporting git-push like operations between disconnected systems.
Signed-off-by: Mark Levedahl <mdl123@verizon.net>
---
git-bundle.sh | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, ...
| Feb 15, 11:39 pm 2007 |
| Mark Levedahl | [PATCH] Add git-unbundle - unpack objects and references ...
Some workflows require coordinated development between repositories on
machines that can never be connected. This utility unpacks a bundle
containing objects and associated references (heads or tags) into the
current repository, effectively supporting git-push like operations
between disconnected systems.
Signed-off-by: Mark Levedahl <mdl123@verizon.net>
---
git-unbundle.sh | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 68 insertions(+), 0 deletions(-)
...
| Feb 15, 11:38 pm 2007 |
| Simon 'corecode' Sch ... | Re: [PATCH] Add git-bundle - pack objects and references ...
for portability, pax is the official choice :) and it can even do path n=
ame modifications with -s. but why again are we using tar there? this d=
ata could easiliy be put in one mixed text/binary file, starting out with=
#!/bin/sh
echo "This is a git bundle. Use git-unbundle to process me." >&1
exit
### DATA ###
or so
cheers
simon
--=20
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low =E2=82=AC=E2=82=AC=E2=82=AC ...
| Feb 16, 4:57 am 2007 |
| Shawn O. Pearce | Re: [PATCH] Add git-unbundle - unpack objects and refere ...
Actually that's only if --force was not given. If --force was
given, rev-parse wasn't run, so local is not populated. So maybe
People do weird things. I agree, its probably unlikely to ever
happen. But give a user a length of rope, they will find a way to
hang themselves...
I can see someone trying to use an update hook with bundle/unbundle
to move stuff from one repository to another, despite the fact that
are better ways to do that. Better that we fail when an update
might lose ...
| Feb 16, 12:45 am 2007 |
| Junio C Hamano | Re: [PATCH] Add git-bundle - pack objects and references ...
True, I should have stressed that. Thanks. Also in the same
sense (but to a lessor degree), "test" vs "[" is also
I used to stay away from 'cut' myself, although it is not too
bad for portability these days. I would probably have done the
above with a single sed process, though.
-
| Feb 16, 12:28 am 2007 |
| Junio C Hamano | Re: [PATCH] Add git-unbundle - unpack objects and refere ...
No. That's not the point. Yes, the object might be reachable,
but you haven't proven that everything necessary to complete
that object is already in the object store. We never trust
existence of an object alone when doing an operation that
updates a ref. Having unreferenced objects in the object store
is a norm, but refs pointing at an object, some of whose
prerequisites are missing, is a crime.
For example, suppose an earlier http-fetch found that the
updated master should be at commit ...
| Feb 16, 12:24 am 2007 |
| Marco Costalba | Re: qgit4 segfault
I had a similar problem with qhit4 under Windows (where it should be
fixed now), never under Linux.
Do you have the same problem also with stable qgit 1.5.4
(git://git.kernel.org/pub/scm/qgit/qgit.git) or only with new qgit4
(git://repo.or.cz/qgit4.git) ?
Marco
-
| Feb 16, 11:32 am 2007 |
| Shawn O. Pearce | Re: GIT 1.5.0 binary installer available.
OK. I'm thinking though that this should go below the context that
appears below it. The reason is, a "Desktop Icon" for git-gui embeds
the repository path in it by setting up GIT_DIR, so that the user
returns to the same repository when launching through that icon.
In other words, maybe only prompt the user to select the directory
I think I can answer this: Tcl (and thus wish too) on Windows does
not pass its environment onto its children. If you poke around
git-gui some and look for ...
| Feb 15, 10:06 pm 2007 |
| Marco Costalba | Re: GIT 1.5.0 binary installer available.
Yes commit in qgit is very simple: check files you want to commit,
write commit message and press a button. That's all. In case you are
on a StGIT repo it will create a patch / push on top of current patch
instead.
qgit commit is definitely not for hardcore use but for a developer
that just want to save and document his job. For anything outside the
*main path* you need something else [1]. qgit is not THE git GUI
interface and IMHO it is good like this. Why?
- Easy to use for first time ...
| Feb 16, 12:10 pm 2007 |
| James Cloos | Re: [PATCH] Dissociating a repository from its alternates
[ARGH; hit r rather than f; cc-ing the list. -JimC]
Wierd.
I was /just/ about to inquire on what the best method was for disassociating.
And then I read this thread.
Effective mind reading! :)
WRT Johannes's followup, I presume it will re-use the alternate packs,
such that the computation is minimal?
-JimC
--
James Cloos <cloos@jhcloos.com> OpenPGP: 1024D/ED7DAEA6
-
| Feb 16, 12:11 pm 2007 |
| Junio C Hamano | Re: [PATCH] Dissociating a repository from its alternates
I think that is much safer.
-
| Feb 16, 1:13 pm 2007 |
| Xavier Maillard | Re: git-blame.el won't run
Really, no one knows ?
Xavier
-
| Feb 16, 11:14 am 2007 |
| previous day | today | next day |
|---|---|---|
| February 15, 2007 | February 16, 2007 | February 15, 2007 |
