summaryrefslogtreecommitdiff
path: root/write-tree.c
AgeCommit message (Collapse)AuthorFilesLines
2005-06-25[PATCH] git-write-tree doesn't check alternate directoriesLibravatar Jan Harkes1-5/+4
git-write-tree failed when referenced objects only exist in the GIT_ALTERNATE_OBJECT_DIRECTORIES path. Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu> Acked-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19[PATCH] cleanup of in-code namesLibravatar Alexey Nezhdanov1-4/+4
Fixes all in-code names that leaved during "big name change". Signed-off-by: Alexey Nezhdanov <snake@penza-gsm.ru> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-11Merge with http://members.cox.net/junkio/git-jc.gitLibravatar Petr Baudis1-4/+31
2005-05-08write-tree is now willing to write empty treeLibravatar Petr Baudis1-4/+4
Cogito wants to be able to do some initial commit at the time of cg-init, which may be empty in case when cg-init is called in an empty tree.
2005-05-07Notice index that has path and path/file and refuse to write such a tree.Libravatar Junio C Hamano1-4/+31
Kay Sievers noticed that you can have both path and path/file in the cache and write-tree happily creates a tree object from such a state. Since a merge can result in such situation and the user should be able to see the situation by looking at the cache, rather than forbidding add_cache_entry() to create such conflicts, fix it by making write-tree refuse to write such an nonsensical tree. Here is a test case. -- test case -- $ ls -a ./ ../ $ git-init-db defaulting to local storage area $ date >path $ git-update-cache --add path $ rm path $ mkdir path $ date >path/file $ git-update-cache --add path/file $ git-ls-files --stage 100644 1738f2536b1201218c41153941da065cc26174c9 0 path 100644 620c72f1c1de15f56ff9d63d6d7cdc69e828f1e3 0 path/file $ git-ls-tree $(git-write-tree) ;# using old one 100644 blob 1738f2536b1201218c41153941da065cc26174c9 path 040000 tree ec116937f223e3df95aeac9f076902ae1618ae98 path $ ../git-write-tree ;# using new one You have both path and path/file fatal: write-tree: not able to write tree $ exit Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-04-26[PATCH] introduce xmalloc and xreallocLibravatar Christopher Li1-2/+2
Introduce xmalloc and xrealloc to die gracefully with a descriptive message when out of memory, rather than taking a SIGSEGV. Signed-off-by: Christopher Li<chrislgit@chrisli.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-25Simplify "write_sha1_file()" interfacesLibravatar Linus Torvalds1-19/+3
The write function now adds the header to the file by itself, so there is no reason to duplicate it among all the users any more.
2005-04-17[PATCH] fix for memory leak in write-tree.cLibravatar Brad Roberts1-4/+2
Fix a memory leak in write-tree.c, not freeing the directory buffer.
2005-04-15write-tree: refuse to write out trees with unmerged index entries.Libravatar Linus Torvalds1-0/+18
Of course, we can't even generate such an index yet, but give me some time. This is a cunning plan. Let's see if it actually works. (I feel like Wile E Coyote, waiting for the big rock to fall).
2005-04-15Convert the index file reading/writing to use network byte order.Libravatar Linus Torvalds1-2/+2
This allows using a git tree over NFS with different byte order, and makes it possible to just copy a fully populated repository and have the end result immediately usable (needing just a refresh to update the stat information).
2005-04-13[PATCH] Consolidate the error handlingLibravatar Petr Baudis1-2/+2
Now there is error() for "library" errors and die() for fatal "application" errors. usage() is now used strictly only for usage errors. Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-04-10Make "update-cache" a bit friendlier to use (and harder to mis-use).Libravatar Linus Torvalds1-2/+0
It now requires the "--add" flag before you add any new files, and a "--remove" file if you want to mark files for removal. And giving it the "--refresh" flag makes it just update all the files that it already knows about.
2005-04-09This implements the new "recursive tree" write-tree.Libravatar Linus Torvalds1-18/+63
It's got some debugging printouts etc still in it, but testing on the kernel seems to show that it does indeed fix the issue with huge tree files for each commit.
2005-04-08Use "-Wall -O2" for the compiler to get more warnings.Libravatar Linus Torvalds1-1/+1
And fix up the warnings that it pointed out. Let's keep the tree clean from early on. Not that the code is very beautiful anyway ;)
2005-04-07Add copyright notices.Libravatar Linus Torvalds1-0/+5
The tool interface sucks (especially "committing" information, which is just me doing everything by hand from the command line), but I think this is in theory actually a viable way of describing the world. So copyright it.
2005-04-07Initial revision of "git", the information manager from hellLibravatar Linus Torvalds1-0/+66