* Re: What's cooking in git.git (Jan 2009, #07; Wed, 28)
From: Jeff King @ 2009-01-29 3:51 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Sverre Rabbelier, git
In-Reply-To: <7vwscej26i.fsf@gitster.siamese.dyndns.org>
On Wed, Jan 28, 2009 at 06:06:45PM -0800, Junio C Hamano wrote:
> * sr/clone-empty (Fri Jan 23 01:07:32 2009 +0100) 1 commit
> + Allow cloning an empty repository
>
> Has anybody actually tried this and made sure the resulting empty clone
> works fine after the clone source gets updated with some contents?
Hmm. It sort of works:
$ mkdir parent && (cd parent && git init)
Initialized empty Git repository in /home/peff/parent/.git/
$ git clone parent child
Initialized empty Git repository in /home/peff/child/.git/
warning: You appear to have cloned an empty repository.
So far so good...
$ (cd parent && echo content >file && git add file && git commit -m one)
[normal commit output]
$ (cd child && git fetch)
[normal fetch output]
But:
$ (cd child && git pull)
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
...
So it's not quite seamless. The problem is that we're not setting up the
branch.master.* config on the empty clone. Nor do we set up
refs/remotes/origin/HEAD.
On top of that, I get funniness between versions:
$ ssh peff.net 'git version && mkdir foo && cd foo && git init'
git version 1.5.6.5
Initialized empty Git repository in /mnt/data/home/peff/foo/.git/
$ git clone peff.net:foo
Initialized empty Git repository in /home/peff/foo/.git/
warning: You appear to have cloned an empty repository.
$ fatal: The remote end hung up unexpectedly
-Peff
^ permalink raw reply
* Re: [StGit PATCH] Check for local changes with "goto"
From: Karl Hasselström @ 2009-01-29 3:45 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git
In-Reply-To: <20090128231305.16133.29214.stgit@localhost.localdomain>
On 2009-01-28 23:13:05 +0000, Catalin Marinas wrote:
> This is done by default, unless the --keep option is passed, for
> consistency with the "pop" command. The index is checked in the
> Transaction.run() function so that other commands could benefit from
> this feature (off by default).
This looks good, except for ...
> + # Check for not clean index
> + if check_clean and iw and not iw.index.is_clean():
> + self.__halt('Repository not clean. Use "refresh" or '
> + '"status --reset"')
... this, which doesn't do what I think you think it does.
Index.is_clean() calls "git update-index --refresh", which checks for
changes in the worktree relative to the index. It's bad design to have
it in Index rather than IndexAndWorktree, but that's my fault, not
yours. ;-) But the point that breaks your patch is that it doesn't
check for changes between index and HEAD -- try it and see.
The fix I'd suggest is to move the existing is_clean() method to
IndexAndWorktree, and call it maybe worktree_clean(). And create a
method in Index() called is_clean(tree) that checks whether the index
is clean with respect to the given Tree (I think this method should
just call "git diff-index --quiet --cached <tree>".). Then call both
of these methods.
Sorry if I just keep creating more work for you. :-/
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle
^ permalink raw reply
* Re: Git SVN fetch failing on large commit
From: Andrew Selder @ 2009-01-29 3:43 UTC (permalink / raw)
To: git
In-Reply-To: <loom.20090129T011905-417@post.gmane.org>
Andrew Selder <aselder <at> mac.com> writes:
>
> Hi,
>
> I'm trying to import an SVN repository and I'm running into trouble on a huge
> SVN revision.
>
> One of the revisions in SVN has a 1.25 GB file. When the git svn fetch process
> gets to this revision, it crashed with the following message:
>
> fatal: Out of memory, malloc failed
> hash-object -w --stdin-paths: command returned error: 128
> This is running on a machine with 3 GB of memory (2.5 GB free before starting
> git svn), Git 1.6.1, Git-svn 1.6.1(svn 1.5.1)
Upgraded to Git 1.6.1.1, but still the same results. I saw the --ignore-paths
option online, but it doesn't seem to be in the lastest version. This would
probably work for me. Does anybody know when that feature is scheduled for
release?
^ permalink raw reply
* Re: What's cooking in git.git (Jan 2009, #07; Wed, 28)
From: Jeff King @ 2009-01-29 3:38 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Johannes Schindelin, git
In-Reply-To: <7vwscej26i.fsf@gitster.siamese.dyndns.org>
On Wed, Jan 28, 2009 at 06:06:45PM -0800, Junio C Hamano wrote:
> * js/valgrind (Wed Jan 21 02:36:40 2009 +0100) 2 commits
> - valgrind: ignore ldso errors
> - Add valgrind support in test scripts
>
> Dscho and Peff had further exchanges on the list; I am sort of waiting for
> the conclusion before picking any intermediate version up.
I think I gave an OK to the last version posted, but then the last thing
I saw from Dscho was "I have a new patch, but I'm not posting it right
this second":
http://article.gmane.org/gmane.comp.version-control.git/107300
followed by much "is zlib broken" discussion which I think doesn't hold
us up (either it is a bug in zlib, in which case it is not our problem,
or it is a false positive, in which case we just add a suppression).
So I think we are waiting for the next round from Johannes.
> * jk/valgrind (Thu Oct 23 04:30:45 2008 +0000) 2 commits
> . valgrind: ignore ldso errors
> . add valgrind support in test scripts
I think it probably makes sense to drop these at this point. Dscho's
more recent work should be the basis to which new patches are compared.
-Peff
^ permalink raw reply
* Re: do you recommend "git" (over svn) for a 1-person team???
From: Ted Pavlic @ 2009-01-29 3:31 UTC (permalink / raw)
To: Greg Hauptmann; +Cc: Martin Langhoff, James Pickens, git
In-Reply-To: <d30068860901281846v65baf431mdab5fe961ef9407d@mail.gmail.com>
> does the concept of me setting up my own central git server as well
> make any sense from the point of view of a way to ensure I can (when
> I'm not remote) "check-in" to the central git server& thereby keep a
> separate copy of my code (i.e. effectively a backup)
You can always keep local clones that serve as "stable" backup repos.
However, I think most people would suggest you just create
stable/experimental branches and merge from one to the other as
appropriate.
If you need some nice working examples of people using git for personal
projects, I recommend you search Google for the many ways of using git
to manage home directories. Applying git to home directory management
involves many of the same questions (and answers) as what you're
bringing up here, and it probably will give you some ideas about the
most effective git usage for your case.
--Ted
--
Ted Pavlic <ted@tedpavlic.com>
Please visit my ALS association page:
http://web.alsa.org/goto/tedpavlic
My family appreciates your support in the fight to defeat ALS.
^ permalink raw reply
* Re: do you recommend "git" (over svn) for a 1-person team???
From: Ted Pavlic @ 2009-01-29 3:27 UTC (permalink / raw)
To: Martin Langhoff; +Cc: James Pickens, Greg Hauptmann, git
In-Reply-To: <46a038f90901281828t16ace3bdocc897eb5235d7c30@mail.gmail.com>
> - "git stash"
Not to mention StGit, which can achieve many of the same things as "git
stash" while also letting you toy with your changeset history (which is
definitely permissible on personal repos).
> - visualise things with gitk
> - search with gitk for specific bits of code, changes (pickaxe), etc
Not to mention tig, the wonderful ncurses (i.e., Terminal-based) tool
recently announced on this mailing list.
(and "git grep", of course)
--Ted
--
Ted Pavlic <ted@tedpavlic.com>
Please visit my ALS association page:
http://web.alsa.org/goto/tedpavlic
My family appreciates your support in the fight to defeat ALS.
^ permalink raw reply
* Re: How to install and use a custom merge driver
From: Jeff King @ 2009-01-29 3:25 UTC (permalink / raw)
To: Alec Clews; +Cc: git
In-Reply-To: <loom.20090128T230123-889@post.gmane.org>
On Wed, Jan 28, 2009 at 11:04:02PM +0000, Alec Clews wrote:
> I fixed that problem -- however it did not make any difference.
Can you post an exact recipe for recreating the problem? It works just
fine here, using:
-- >8 --
commit() {
echo $1 >file && git add file && git commit -m $1
}
mkdir repo && cd repo && git init
commit base
commit branch-master
git checkout -b other HEAD^
commit branch-other
echo '* merge=overwrite' >.git/info/attributes
cat >>.git/config <<'EOF'
[merge "overwrite"]
name = overwrite using cp
driver= cp %B %A
EOF
git merge master
-- 8< --
I get an automatic merge with the contents from "master" (and without
the merge config, there is obviously a conflict).
> Is there someway to enable logging to see how git is making this choice?
You can try "git check-attr merge file" to be sure that it is picking up
the attribute.
-Peff
^ permalink raw reply
* Re: do you recommend "git" (over svn) for a 1-person team???
From: Greg Hauptmann @ 2009-01-29 2:46 UTC (permalink / raw)
To: Martin Langhoff; +Cc: James Pickens, git
In-Reply-To: <46a038f90901281828t16ace3bdocc897eb5235d7c30@mail.gmail.com>
does the concept of me setting up my own central git server as well
make any sense from the point of view of a way to ensure I can (when
I'm not remote) "check-in" to the central git server & thereby keep a
separate copy of my code (i.e. effectively a backup)
2009/1/29 Martin Langhoff <martin.langhoff@gmail.com>:
> On Thu, Jan 29, 2009 at 3:15 PM, James Pickens <jepicken@gmail.com> wrote:
>> Greg Hauptmann <greg.hauptmann.ruby@gmail.com> wrote:
>>> Do you recommend "git" (over svn) for a 1-person team???
>>
>> Yes, emphatically. I do it myself all the time.
>
> +1!
>
> - offline work on your laptop
> - "git stash"
> - keep various branches (experimental, feature, stable...), with
> untold flexibility for cherrypicking, merges, etc
> - bisect!
> - visualise things with gitk
> - search with gitk for specific bits of code, changes (pickaxe), etc
>
> once you start... it's a bit addictive...
>
>
> m
> --
> martin.langhoff@gmail.com
> martin@laptop.org -- School Server Architect
> - ask interesting questions
> - don't get distracted with shiny stuff - working code first
> - http://wiki.laptop.org/go/User:Martinlanghoff
>
--
Greg
http://blog.gregnet.org/
^ permalink raw reply
* Re: (beginner) git rm
From: Björn Steinbrink @ 2009-01-29 2:34 UTC (permalink / raw)
To: Jonathan Wills; +Cc: Junio C Hamano, Zabre, git
In-Reply-To: <6bef44ba0901281711m2d05e70fj4dd3ae03d7fe1052@mail.gmail.com>
On 2009.01.28 17:11:07 -0800, Jonathan Wills wrote:
> This seems like an appropriate thread to ask something I came across today.
> Either I am unclear about the precise semantics of git checkout <branch>
> <path>, or there is a bug in said command. I noticed this when I wanted to
> get a directory to match the same directory in another branch, so I did rm
> -rf dir, followed by git checkout master dir. Afterwards I noticed that
> files in that directory that had previously been in my branch but were not
> in the master branch had returned. Earlier in this thread it was mentioned
> that git checkout will not remove files, but in this case I had already
> removed those files and git checkout actually replaced them (and not from
> the master branch like I asked, but from the current branch).
This is exactly what I meant. Your "rm -rf dir" only removed the
directory from the working tree, but _not_ from the index. And what
"git checkout master -- dir" then does is that it puts all the stuff
that is in master's "dir" into the index, in _addition_ to the stuff
already in the index. And then it puts everything from the index's "dir"
into the working tree. This is really a two step process and in each
step the pathspec is matched separately.
So the working tree doesn't have "dir" at all.
In the index you still have:
whatever
dir/file (index version)
dir/other_file
In master you have:
whatever_2
dir/file (master version)
dir/yet_another_file
Then you do "git checkout master -- dir".
In the first step, that "dir" pathspec matches these files from master:
dir/file
dir/yet_another_file
So those are added to the index, and the index will have:
whatever
dir/file (master version)
dir/other_file
dir/yet_another_file
So "dir/file" was replaced, and "dir/yet_another_file" was added. But
"dir/other_file" is still around.
And then comes the index -> working tree step. The pathspec matches all
three files in "dir" in the index, and so they appear in the working
tree.
To get what you expected, you have several options:
a)
rm -rf dir
git add -u dir (drops it from the index)
git checkout master -- dir
b)
git rm -rf dir
git checkout master -- dir
Just saves the "git add -u" step.
c)
rm -rf dir
git reset master -- dir
git checkout -- dir
The reset makes "dir" in the index equal to master's "dir" (ok,
technically that's wrong, as the index doesn't even know about "dir" on
its own, but my brain fails to produce a correct description).
Björn
^ permalink raw reply
* Re: do you recommend "git" (over svn) for a 1-person team???
From: Martin Langhoff @ 2009-01-29 2:28 UTC (permalink / raw)
To: James Pickens; +Cc: Greg Hauptmann, git
In-Reply-To: <885649360901281815q42199468v8658d864386efe2d@mail.gmail.com>
On Thu, Jan 29, 2009 at 3:15 PM, James Pickens <jepicken@gmail.com> wrote:
> Greg Hauptmann <greg.hauptmann.ruby@gmail.com> wrote:
>> Do you recommend "git" (over svn) for a 1-person team???
>
> Yes, emphatically. I do it myself all the time.
+1!
- offline work on your laptop
- "git stash"
- keep various branches (experimental, feature, stable...), with
untold flexibility for cherrypicking, merges, etc
- bisect!
- visualise things with gitk
- search with gitk for specific bits of code, changes (pickaxe), etc
once you start... it's a bit addictive...
m
--
martin.langhoff@gmail.com
martin@laptop.org -- School Server Architect
- ask interesting questions
- don't get distracted with shiny stuff - working code first
- http://wiki.laptop.org/go/User:Martinlanghoff
^ permalink raw reply
* Re: do you recommend "git" (over svn) for a 1-person team???
From: Garry Dolley @ 2009-01-29 2:21 UTC (permalink / raw)
To: Greg Hauptmann; +Cc: git
In-Reply-To: <d30068860901281725t14d19c1vc0557182bca3eb8d@mail.gmail.com>
On Thu, Jan 29, 2009 at 11:25:56AM +1000, Greg Hauptmann wrote:
> Hi,
>
> Do you recommend "git" (over svn) for a 1-person team??? (the
> ability to commit whilst offline on my laptop sounds potentially
> enough reason)
Absolutely. I have several repos on my filesystem and also a server
that are for myself only.
--
Garry Dolley
ARP Networks, Inc. http://www.arpnetworks.com
Data center, VPS, and IP transit solutions (818) 206-0181
Member Los Angeles County REACT, Unit 336 WQGK336
Blog http://scie.nti.st
^ permalink raw reply
* Re: do you recommend "git" (over svn) for a 1-person team???
From: James Pickens @ 2009-01-29 2:15 UTC (permalink / raw)
To: Greg Hauptmann; +Cc: git
In-Reply-To: <d30068860901281725t14d19c1vc0557182bca3eb8d@mail.gmail.com>
Greg Hauptmann <greg.hauptmann.ruby@gmail.com> wrote:
> Do you recommend "git" (over svn) for a 1-person team???
Yes, emphatically. I do it myself all the time.
James
^ permalink raw reply
* Re: do you recommend "git" (over svn) for a 1-person team???
From: Ted Pavlic @ 2009-01-29 2:09 UTC (permalink / raw)
To: Greg Hauptmann; +Cc: git
In-Reply-To: <d30068860901281725t14d19c1vc0557182bca3eb8d@mail.gmail.com>
> Do you recommend "git" (over svn) for a 1-person team??? (the
> ability to commit whilst offline on my laptop sounds potentially
> enough reason)
At this point, it is clear that you've bought into using *some* form of
revision control locally. So you are really asking whether DVCS is
appropriate for personal-only use. If all you care about is the ability
to commit locally, then you might as well use vanilla RCS (i.e., the
ultimate "plumbing" behind SVN).
How easy DVCS solutions make merging and rebasing is a secondary feature
for me. Primarily, I like that while doing my work, I don't ever have to
*think* about the revision control. I don't have to check out or lock
files. I don't have to worry about checking in all of my changes. I just
work, and, when I'm ready, the DVCS takes care of everything else. It's
the *overall* ease of use that makes DVCS so valuable to me... (and who
knows... maybe later someone will want to clone my repo and we'll trade
commits back and forth)
[ Keep in mind that git is not the only DVCS. For some of my personal
projects, I use hg (Mercurial), and for others I use git. On none of
them do I use SVN. Unfortunately, the proliferation of SVN on
SourceForge has prevented me from contributed myriad local patches to
projects that are otherwise very important to me. Perhaps another great
reason to use DVCS locally is that you'll be putting implicit pressure
on places like SF to modernize. ]
Best --
Ted
--
Ted Pavlic <ted@tedpavlic.com>
Please visit my ALS association page:
http://web.alsa.org/goto/tedpavlic
My family appreciates your support in the fight to defeat ALS.
^ permalink raw reply
* What's cooking in git.git (Jan 2009, #07; Wed, 28)
From: Junio C Hamano @ 2009-01-29 2:06 UTC (permalink / raw)
To: git
Here are the topics that have been cooking. Commits prefixed with '-' are
only in 'pu' while commits prefixed with '+' are in 'next'. The ones
marked with '.' do not appear in any of the branches, but I am still
holding onto them.
The topics list the commits in reverse chronological order. The topics
meant to be merged to the maintenance series have "maint-" in their names.
----------------------------------------------------------------
[New Topics]
* jc/maint-1.6.0-split-diff-metainfo (Mon Jan 26 00:08:24 2009 -0800) 1 commit
+ diff.c: output correct index lines for a split diff
This is slated for maintenance series 1.6.0.X, 1.6.1.X and also for
'master'. I think the change is pretty safe and sane to go directly to
'master' but I had too many other topoics to look at that I did not feel
comfortable enough to do so.
* jc/maint-split-diff-metainfo (Tue Jan 27 01:08:02 2009 -0800) 2 commits
+ Merge branch 'jc/maint-1.6.0-split-diff-metainfo' into jc/maint-
split-diff-metainfo
+ diff.c: output correct index lines for a split diff
Early conflict resolution branch for the above to carry it to 1.6.1X
series.
* js/maint-rebase-i-submodule (Tue Jan 27 12:42:31 2009 +0100) 2 commits
+ Fix submodule squashing into unrelated commit
+ rebase -i squashes submodule changes into unrelated commit
* jg/tag-contains (Mon Jan 26 09:13:25 2009 -0500) 3 commits
+ git-tag: Add --contains option
+ Make has_commit() non-static
+ Make opt_parse_with_commit() non-static
* jk/maint-cleanup-after-exec-failure (Wed Jan 28 02:38:14 2009 -0500) 4 commits
+ git: use run_command() to execute dashed externals
+ run_command(): help callers distinguish errors
+ run_command(): handle missing command errors more gracefully
+ git: s/run_command/run_builtin/
* jc/maint-allow-uninteresting-missing (Tue Jan 27 23:19:30 2009 -0800) 1 commit
+ revision traversal: allow UNINTERESTING objects to be missing
This is a small follow-up to the fix to send-pack in 1.6.1; meant to go in
1.6.1.X maintenance series and newer.
* am/maint-push-doc (Mon Jan 26 00:45:33 2009 +0100) 3 commits
+ Documentation: rework src/dst description in git push
+ Documentation: more git push examples
+ Documentation: simplify refspec format description
* jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
- git-merge-file: allow converting the results for the work tree
We did not give scripted Porcelains a way to say "this temporary file I am
using for merging is for this path, so use the core.autocrlf and attributes
rules for that final path". Instead, merge-file simply wrote out the
data in the canonical repository representation.
rerere has the same issue, but it is a lot worse. It reads the three
files (preimage, postimage and thisimage) from the work tree in the work
tree representation, merges them without converting them to the canonical
representation first but inserts the conflict markers with the canonical
representation and writes the resulting mess out. It needs to be fixed to
read with convert_to_git(), merge them while they are still in the
canonical representation and possibly add conflict markers, and then write
the results out after convert_to_working_tree(). It also needs to write
in binary mode as well.
* jc/maint-add-u-remove-conflicted (Wed Jan 28 14:24:53 2009 -0800) 1 commit
- add -u: do not fail to resolve a path as deleted
This has been updated from the posted version with a correction.
* ns/am-slacker (Sat Jan 24 10:18:02 2009 +0900) 2 commits
+ git-am: Add --ignore-date option
+ am: Add --committer-date-is-author-date option
It is a (probably) useful new feature with a sort-of cute explanation.
* jc/maint-apply-fix (Sun Jan 25 23:41:26 2009 -0800) 1 commit
+ builtin-apply.c: do not set bogus mode in check_preimage() for
deleted path
----------------------------------------------------------------
[Stalled and may need help and prodding to go forward]
* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
+ blame: show "previous" information in --porcelain/--incremental
format
+ git-blame: refactor code to emit "porcelain format" output
This gives Porcelains (like gitweb) the information on the commit _before_
the one that the final blame is laid on, which should save them one
rev-parse to dig further. The line number in the "previous" information
may need refining, and sanity checking code for reference counting may
need to be resurrected before this can move forward.
* db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits
- Support fetching from foreign VCSes
- Add specification of git-vcs helpers
- Add "vcs" config option in remotes
The "spec" did not seem quite well cooked yet, but in the longer term I
think something like this to allow interoperating with other SCMs as if
the other end is a native git repository is a very worthy goal.
* cc/replace (Fri Jan 23 10:07:46 2009 +0100) 7 commits
- environment: add global variable to disable replacement
- mktag: call "check_sha1_signature" with the replacement sha1
- replace_object: add a test case
- object: call "check_sha1_signature" with the replacement sha1
- sha1_file: add a "read_sha1_file_repl" function
- replace_object: add mechanism to replace objects found in
"refs/replace/"
- refs: add a "for_each_replace_ref" function
Nobody has review comments on this yet.
* lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 6 commits
- archive.c: add support for --submodules[=(all|checkedout)]
- tree.c: allow read_tree_recursive() to traverse gitlink entries
+ Revert round #1 of the series
+ builtin-ls-tree: enable traversal of submodules
+ archive.c: enable traversal of submodules
+ tree.c: add support for traversal of submodules
----------------------------------------------------------------
[Reverted]
* mh/unify-color (Fri Jan 23 01:25:23 2009 -0800) 3 commits
? Revert previous two commits
? move the color variables to color.c
? handle color.ui at a central place
This broke git-format-patch badly.
----------------------------------------------------------------
[Actively cooking]
* js/valgrind (Wed Jan 21 02:36:40 2009 +0100) 2 commits
- valgrind: ignore ldso errors
- Add valgrind support in test scripts
Dscho and Peff had further exchanges on the list; I am sort of waiting for
the conclusion before picking any intermediate version up.
* ks/maint-mailinfo-folded (Tue Jan 13 01:21:04 2009 +0300) 4 commits
+ mailinfo: tests for RFC2047 examples
+ mailinfo: add explicit test for mails like '<a.u.thor@example.com>
(A U Thor)'
+ mailinfo: 'From:' header should be unfold as well
+ mailinfo: correctly handle multiline 'Subject:' header
I just got tired of waiting and cleaned up the series myself.
* js/notes (Tue Jan 13 20:57:16 2009 +0100) 6 commits
+ git-notes: fix printing of multi-line notes
+ notes: fix core.notesRef documentation
+ Add an expensive test for git-notes
+ Speed up git notes lookup
+ Add a script to edit/inspect notes
+ Introduce commit notes
It would be nice to hear a real world success story using the notes
mechanism; Dscho says he also wants to make sure the current choice
of the structure scales well before casting it in stone.
* sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits
- gitweb: Optional grouping of projects by category
- gitweb: Split git_project_list_body in two functions
- gitweb: Modularized git_get_project_description to be more generic
Design discussion between Jakub and Sebastien continues.
----------------------------------------------------------------
[Graduated to "master"]
* sr/clone-empty (Fri Jan 23 01:07:32 2009 +0100) 1 commit
+ Allow cloning an empty repository
Has anybody actually tried this and made sure the resulting empty clone
works fine after the clone source gets updated with some contents?
* kb/lstat-cache (Sun Jan 18 16:14:54 2009 +0100) 5 commits
+ lstat_cache(): introduce clear_lstat_cache() function
+ lstat_cache(): introduce invalidate_lstat_cache() function
+ lstat_cache(): introduce has_dirs_only_path() function
+ lstat_cache(): introduce has_symlink_or_noent_leading_path()
function
+ lstat_cache(): more cache effective symlink/directory detection
* tr/previous-branch (Wed Jan 21 00:37:38 2009 -0800) 10 commits
+ Simplify parsing branch switching events in reflog
+ Introduce for_each_recent_reflog_ent().
+ interpret_nth_last_branch(): plug small memleak
+ Fix reflog parsing for a malformed branch switching entry
+ Fix parsing of @{-1}@{1}
+ interpret_nth_last_branch(): avoid traversing the reflog twice
+ checkout: implement "-" abbreviation, add docs and tests
+ sha1_name: support @{-N} syntax in get_sha1()
+ sha1_name: tweak @{-N} lookup
+ checkout: implement "@{-N}" shortcut name for N-th last branch
* js/maint-all-implies-HEAD (Sat Jan 17 22:27:08 2009 -0800) 2 commits
+ bundle: allow the same ref to be given more than once
+ revision walker: include a detached HEAD in --all
* cb/add-pathspec (Wed Jan 14 15:54:35 2009 +0100) 2 commits
+ remove pathspec_match, use match_pathspec instead
+ clean up pathspec matching
* js/diff-color-words (Tue Jan 20 22:59:54 2009 -0600) 9 commits
+ Change the spelling of "wordregex".
+ color-words: Support diff.wordregex config option
+ color-words: make regex configurable via attributes
+ color-words: expand docs with precise semantics
+ color-words: enable REG_NEWLINE to help user
+ color-words: take an optional regular expression describing words
+ color-words: change algorithm to allow for 0-character word
boundaries
+ color-words: refactor word splitting and use ALLOC_GROW()
+ Add color_fwrite_lines(), a function coloring each line
individually
----------------------------------------------------------------
[Will merge to "master" soon]
* jg/mergetool (Sat Jan 24 00:12:45 2009 +0100) 1 commit
+ mergetool: Don't repeat merge tool candidates
* cb/mergetool (Wed Jan 21 22:57:48 2009 +0000) 1 commit
+ mergetool: respect autocrlf by using checkout-index
Now Ted told us not to wait for him, we'll go ahead by ourselves ;-).
* jk/signal-cleanup (Thu Jan 22 01:03:28 2009 -0500) 5 commits
+ pager: do wait_for_pager on signal death
+ refactor signal handling for cleanup functions
+ chain kill signals for cleanup functions
+ diff: refactor tempfile cleanup handling
+ Windows: Fix signal numbers
* sp/runtime-prefix (Sun Jan 18 13:00:15 2009 +0100) 7 commits
+ Windows: Revert to default paths and convert them by
RUNTIME_PREFIX
+ Compute prefix at runtime if RUNTIME_PREFIX is set
+ Modify setup_path() to only add git_exec_path() to PATH
+ Add calls to git_extract_argv0_path() in programs that call
git_config_*
+ git_extract_argv0_path(): Move check for valid argv0 from caller
to callee
+ Refactor git_set_argv0_path() to git_extract_argv0_path()
+ Move computation of absolute paths from Makefile to runtime (in
preparation for RUNTIME_PREFIX)
----------------------------------------------------------------
[On Hold]
* jc/commit-assume-also-during-merge (Thu Jan 22 22:21:49 2009 -0800) 3 commits
- git commit: pathspec without -i/-o implies -i semantics during a
merge
- builtin-commit: shorten eye-sore overlong lines
- Add "partial commit" tests during a conflicted merge
This is only meant as a weatherballoon to help facilitate discussion.
* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
. diff: enable "too large a rename" warning when -M/-C is explicitly
asked for
* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
. git-am --forge: add Signed-off-by: line for the author
. git-am: clean-up Signed-off-by: lines
. stripspace: add --log-clean option to clean up signed-off-by:
lines
. stripspace: use parse_options()
. Add "git am -s" test
. git-am: refactor code to add signed-off-by line for the committer
* jc/post-simplify (Fri Aug 15 01:34:51 2008 -0700) 2 commits
. revision --simplify-merges: incremental simplification
. revision --simplify-merges: prepare for incremental simplification
* jk/valgrind (Thu Oct 23 04:30:45 2008 +0000) 2 commits
. valgrind: ignore ldso errors
. add valgrind support in test scripts
* wp/add-patch-find (Thu Nov 27 04:08:03 2008 +0000) 3 commits
. In add --patch, Handle K,k,J,j slightly more gracefully.
. Add / command in add --patch
. git-add -i/-p: Change prompt separater from slash to comma
^ permalink raw reply
* What's in git.git (Jan 2009, #04; Wed, 28)
From: Junio C Hamano @ 2009-01-29 2:06 UTC (permalink / raw)
To: git
Folks at Github found that v1.6.1 clients barf when pushing over git
protocol to v1.6.1 server if (1) the repository pushed into borrows
objects from another repository, and (2) the repository that lends the
objects has updates the pusher does not have. The 'maint' branch has a
fix for it which 1.6.1.2 will contain when it comes out.
The master has accumulated enough new features; we should start the -rc
freeze soon (with the topics we have in 'next' as of today).
* The 'maint' branch has these fixes since the last announcement.
Johannes Schindelin (2):
get_sha1_basic(): fix invalid memory access, found by valgrind
test-path-utils: Fix off by one, found by valgrind
Junio C Hamano (2):
GIT 1.6.1.1
send-pack: do not send unknown object name from ".have" to pack-objects
* The 'master' branch has these since the last announcement
in addition to the above.
Benjamin Kramer (1):
Ignore test-ctype
Boyd Stephen Smith Jr (2):
color-words: Support diff.wordregex config option
Change the spelling of "wordregex".
Clemens Buchacher (2):
clean up pathspec matching
remove pathspec_match, use match_pathspec instead
Eric Wong (1):
git-svn: fix memory leak when checking for empty symlinks
Giuseppe Bilotta (6):
gitweb: channel image in rss feed
gitweb: feed generator metadata
gitweb: rss feed managingEditor
gitweb: rss channel date
gitweb: last-modified time should be commiter, not author
gitweb: check if-modified-since for feeds
Jay Soffian (1):
git-am: minor cleanups
Johannes Schindelin (7):
Add color_fwrite_lines(), a function coloring each line individually
color-words: refactor word splitting and use ALLOC_GROW()
color-words: change algorithm to allow for 0-character word boundaries
color-words: take an optional regular expression describing words
revision walker: include a detached HEAD in --all
Fix parsing of @{-1}@{1}
rebase -i --root: fix check for number of arguments
Johannes Sixt (1):
Windows: Fix intermittent failures of t7701
Junio C Hamano (10):
checkout: implement "@{-N}" shortcut name for N-th last branch
bundle: allow the same ref to be given more than once
interpret_nth_last_branch(): avoid traversing the reflog twice
Fix reflog parsing for a malformed branch switching entry
interpret_nth_last_branch(): plug small memleak
Introduce for_each_recent_reflog_ent().
Simplify parsing branch switching events in reflog
http-push.c: style fixes
rebase -i: correctly remember --root flag across --continue
tests: Avoid single-shot environment export for shell function invocation
Kjetil Barvik (5):
lstat_cache(): more cache effective symlink/directory detection
lstat_cache(): introduce has_symlink_or_noent_leading_path() function
lstat_cache(): introduce has_dirs_only_path() function
lstat_cache(): introduce invalidate_lstat_cache() function
lstat_cache(): introduce clear_lstat_cache() function
Miklos Vajna (1):
gittutorial: remove misleading note
Nanako Shiraishi (1):
Mention "local convention" rule in the CodingGuidelines
Serge van den Boom (1):
Makefile: Make 'configure --with-expat=path' actually work
Sverre Rabbelier (1):
Allow cloning an empty repository
Ted Pavlic (1):
make: Remove -pthread on Darwin (it is included by cstdlib).
Teemu Likonen (1):
diff-options.txt: Fix asciidoc markup issue
Thomas Rast (7):
color-words: enable REG_NEWLINE to help user
color-words: expand docs with precise semantics
color-words: make regex configurable via attributes
sha1_name: tweak @{-N} lookup
sha1_name: support @{-N} syntax in get_sha1()
checkout: implement "-" abbreviation, add docs and tests
t1505: remove debugging cruft
Vitaly \"_Vi\" Shukela (3):
git-svn: add --ignore-paths option for fetching
git-svn: documented --ignore-paths
git-svn: Add test for --ignore-paths parameter
^ permalink raw reply
* Re: Valgrind updates
From: Linus Torvalds @ 2009-01-29 1:56 UTC (permalink / raw)
To: Johannes Schindelin
Cc: zlib, valgrind-users, Mark Brown, Jeff King, Junio C Hamano,
Git Mailing List
In-Reply-To: <alpine.DEB.1.00.0901272241250.14855@racer>
On Tue, 27 Jan 2009, Johannes Schindelin wrote:
>
> To help ye Gods, I put together this almost minimal C program:
This one is buggy.
> out = fopen("/dev/null", "w");
> fwrite(compressed + 51, 51, 1, out);
> fwrite(compressed + 51, 1, 1, stderr);
> fflush(out);
> fclose(out);
The problem is that the first argument to that first "fwrite()" is simply
wrong. It shouldn't be "compressed + 51", it should be just "compressed".
As it is, you're writing 51 bytes, starting at 51 bytes in, and that's
obviously not correct (you only got 58 bytes from deflate()).
So valgrind does complain about it, but for a perfectly valid reason.
So I think your minimal C program isn't actually showing what you wanted
to show, and isn't showing the behaviour you see in git.
Linus
^ permalink raw reply
* Re: do you recommend "git" (over svn) for a 1-person team???
From: david @ 2009-01-29 2:57 UTC (permalink / raw)
To: Greg Hauptmann; +Cc: git
In-Reply-To: <d30068860901281725t14d19c1vc0557182bca3eb8d@mail.gmail.com>
On Thu, 29 Jan 2009, Greg Hauptmann wrote:
> Hi,
>
> Do you recommend "git" (over svn) for a 1-person team??? (the
> ability to commit whilst offline on my laptop sounds potentially
> enough reason)
well, if you use svn just put the svn repository on your laptop.
but if you use multiple systems you aren't really a 1-person team, you
just happen to be one person working in different places.
also the distributed nature of git will make doing (and maintaining)
backups easier, as well as recovering from the inevitable cases where you
do development seperatly on your different machines and then need to
combine them.
David Lang
^ permalink raw reply
* Re: [PATCH] builtin-apply.c: do not set bogus mode in check_preimage() for deleted path
From: Don Zickus @ 2009-01-29 1:46 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Alexander Potashev
In-Reply-To: <7vocxrj9j9.fsf@gitster.siamese.dyndns.org>
On Wed, Jan 28, 2009 at 03:27:54PM -0800, Junio C Hamano wrote:
> Also I suspect this codepath has been broken the use case 7a07841
> (git-apply: handle a patch that touches the same path more than once
> better, 2008-06-27) wanted to support, and if that is the case, this
> would fix it.
Actually deleting patches weren't that interesting to me, I deal more with
patches modifying the same patch repeatedly. Regardless the patch below
seems ok to me.
Acked-by: Don Zickus <dzickus@redhat.com>
>
> builtin-apply.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/builtin-apply.c b/builtin-apply.c
> index b415daf..1e7f917 100644
> --- a/builtin-apply.c
> +++ b/builtin-apply.c
> @@ -2453,7 +2453,7 @@ static int check_preimage(struct patch *patch, struct cache_entry **ce, struct s
> if (st_mode != patch->old_mode)
> fprintf(stderr, "warning: %s has type %o, expected %o\n",
> old_name, st_mode, patch->old_mode);
> - if (!patch->new_mode)
> + if (!patch->new_mode && !patch->is_delete)
> patch->new_mode = st_mode;
> return 0;
>
> --
> 1.6.1.1.278.g6a817
>
^ permalink raw reply
* Re: do you recommend "git" (over svn) for a 1-person team???
From: Sverre Rabbelier @ 2009-01-29 1:38 UTC (permalink / raw)
To: Greg Hauptmann; +Cc: git
In-Reply-To: <d30068860901281725t14d19c1vc0557182bca3eb8d@mail.gmail.com>
Heya,
On Thu, Jan 29, 2009 at 02:25, Greg Hauptmann
<greg.hauptmann.ruby@gmail.com> wrote:
> Do you recommend "git" (over svn) for a 1-person team??? (the
> ability to commit whilst offline on my laptop sounds potentially
> enough reason)
Are you seriously asking if you should git instead of svn on the git
mailing list, or am I missing something? :P.
Seriously though, yes, git works very nicely for 1-person teams as
well as for large teams. Especially the ability to "git init && git
add . && git commit -m 'got part of the assignment done'" has helped
me a lot.
Before I started using git I would come to the point where I thought
'ah, good, it almost works, now all I have to do is add feature x, and
then 10 minutes later I'd be wishing I had used some form of revision
control so I could go back to that working version!
</testemonial>
--
Cheers,
Sverre Rabbelier
^ permalink raw reply
* Re: do you recommend "git" (over svn) for a 1-person team???
From: Greg Hauptmann @ 2009-01-29 1:25 UTC (permalink / raw)
To: git
In-Reply-To: <d30068860901281718x363348caya2dc94e798cc8091@mail.gmail.com>
Hi,
Do you recommend "git" (over svn) for a 1-person team??? (the
ability to commit whilst offline on my laptop sounds potentially
enough reason)
Tks
^ permalink raw reply
* Git SVN fetch failing on large commit
From: Andrew Selder @ 2009-01-29 1:24 UTC (permalink / raw)
To: git
Hi,
I'm trying to import an SVN repository and I'm running into trouble on a huge
SVN revision.
One of the revisions in SVN has a 1.25 GB file. When the git svn fetch process
gets to this revision, it crashed with the following message:
fatal: Out of memory, malloc failed
hash-object -w --stdin-paths: command returned error: 128
error closing pipe: Bad file descriptor at /usr/local/libexec/git-core//git-svn
line 0
error closing pipe: Bad file descriptor at /usr/local/libexec/git-core//git-svn
line 0
This is running on a machine with 3 GB of memory (2.5 GB free before starting
git svn), Git 1.6.1, Git-svn 1.6.1(svn 1.5.1)
Help would be greatly appreciated.
^ permalink raw reply
* git reset --merge misdocumented?
From: Johannes Schindelin @ 2009-01-29 1:17 UTC (permalink / raw)
To: git
Hi,
from the man page I thought that --merge would be just another way to say
"git read-tree -u -m".
In particular, the man page says _nothing_ about resetting HEAD to
something else.
Maybe somebody with l33ter dox skillz than me would like to fix that.
Ciao,
Dscho
^ permalink raw reply
* Re: [PATCH/RFC v1 5/6] combine-diff.c: remove a call to fstat() inside show_patch_diff()
From: Junio C Hamano @ 2009-01-29 1:16 UTC (permalink / raw)
To: Kjetil Barvik; +Cc: git
In-Reply-To: <7v63jznp58.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
> Kjetil Barvik <barvik@broadpark.no> writes:
>
>> Currently inside show_patch_diff() we have and fstat() call after an
>> ok lstat() call. Since we before the call to fstat() have already
>> test for the link case with S_ISLNK() the fstat() can be removed.
>
> Good eyes. Thanks.
Heh, I noticed you will update the commit log message, so I'll dequeue
this and wait for an update.
^ permalink raw reply
* Re: Valgrind updates
From: Mark Adler @ 2009-01-29 0:15 UTC (permalink / raw)
To: Johannes Schindelin
Cc: Linus Torvalds, Jean-loup Gailly, Mark Brown, Jeff King,
Junio C Hamano, Git Mailing List
In-Reply-To: <alpine.DEB.1.00.0901290024290.3586@pacific.mpi-cbg.de>
On Jan 28, 2009, at 3:27 PM, Johannes Schindelin wrote:
> On Wed, 28 Jan 2009, Mark Adler wrote:
>> 2. Can someone send me the input and the 58 bytes of output from
>> this
>> case?
>
> I did better than that already...
> http://article.gmane.org/gmane.comp.version-control.git/107391
Johannes,
Thanks for the input and code. When I run it, the byte in question at
offset 51 is 0x2c. The output decompresses fine and the result
matches the input. If I change the 0x2c to anything else,
decompression fails. The 58 bytes are below.
Can you also send me the 58 bytes of output that you get when you run
it? Thanks.
Mark
78 01 2b 29 4a 4d 55 30 34 33 65 30 34 30 30 33
31 51 48 cb cc 49 35 64 10 60 c0 04 48 0a 8c 18
14 30 e5 91 4d 30 66 30 c0 af c0 84 c1 01 bf 02
53 86 00 2c 0a 00 86 79 13 07
^ permalink raw reply
* Re: [PATCH] add -u: do not fail to resolve a path as deleted
From: Junio C Hamano @ 2009-01-29 0:13 UTC (permalink / raw)
To: git
In-Reply-To: <7viqnzj9ay.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
> This is wrong; breaks t3702.
Ugh; that is a bogus test. Please disregard.
^ 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