Commit Graph

23 Commits

Author SHA1 Message Date
James Bottomley
c6e007b094 [PATCH] update-cache: add "--ignore-missing" option
This adds an --ignore-missing option to update-cache, which makes it
ignore missing files.  Together with the "-n" option to checkout-cache,
it allows me to do

    checkout-cache -n -f -a && update-cache --ignore-missing --refresh

which only updates and refreshes the files I already have checked out.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24 15:14:16 -07:00
Linus Torvalds
bb233d690a Add support for a "GIT_INDEX_FILE" environment variable.
We use that to specify alternative index files, which can be useful
if you want to (for example) generate a temporary index file to do
some specific operation that you don't want to mess with your main
one with.

It defaults to the regular ".git/index" if it hasn't been specified.
2005-04-21 10:55:18 -07:00
Linus Torvalds
f18ca73166 The recent hash/compression switch-over missed the blob creation.
Happily, convert-cache just magically fixes all errors.
2005-04-20 01:34:54 -07:00
Junio C Hamano
1bc992acac [PATCH] Fix confusing behaviour of update-cache --refresh on unmerged paths.
The "update-cache --refresh" command attempts refresh_entry()
on unmerged path, which results in as many "needs update" messages
as there are unmerged stages for that path.  This does not do
any harm to the working directory, but it is confusing.

Here is a fix.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-18 10:42:48 -07:00
Junio C Hamano
c747fc6fac [PATCH] Remove unused arguments from index_fd()
The function index_fd() in update-cache.c takes 5 arguments, but
two is not necessary and one that is a pointer to a structure
really needs to be a pointer to one member of that structure.
This patch cleans it up.

Also it removes printf() apparently left after initial
debugging.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-17 10:02:22 -07:00
Linus Torvalds
e44794706e Be much more liberal about the file mode bits.
We only really care about the difference between a file being executable
or not (by its owner). Everything else we leave for the user umask to
decide.
2005-04-16 22:26:31 -07:00
Linus Torvalds
f5cabd13d8 Encode a few extra flags per index entry.
This will allow us to have the same name in different "states" in the
index at the same time. Which in turn seems to be a very simple way to
merge.
2005-04-15 21:45:38 -07:00
Linus Torvalds
9945d98051 Add "--cacheinfo" option to update-cache.
This allows scripts to manually add entries to the cache explicitly.

Need to do some way to remove them too, even if the path exists.
2005-04-15 11:08:33 -07:00
Linus Torvalds
ccc4feb579 Convert the index file reading/writing to use network byte order.
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-15 10:44:27 -07:00
Petr Baudis
5ade862839 [PATCH] nsec portability
It seems like the nsec portability is limited; in particular, older
glibcs (<=2.2.4 at least) don't seem to like it. So access the nsec
fields in struct stat only when -DNSEC.

Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-04-13 02:38:44 -07:00
Ingo Molnar
aebb267908 [PATCH] Whitespace Fixes
Trivial whitespace fixes.

From: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-04-13 02:35:04 -07:00
Petr Baudis
2de381f919 [PATCH] Consolidate the error handling
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-13 02:28:48 -07:00
Linus Torvalds
3607c27f5f Allow zero-sized files to be checked in.
The kernel may not want it, but others probably do.

Noted (again) by Junio Hamano.
2005-04-11 18:02:00 -07:00
Linus Torvalds
4bb04f2190 Rename ".dircache" directory to ".git"
I started out calling the tool "dircache". That's clearly moronic.
2005-04-11 15:47:57 -07:00
Linus Torvalds
9614b8dcf8 Fix stale index.lock file removal using "atexit()".
Problem noted by Randy Dunlap.
2005-04-11 15:39:26 -07:00
Linus Torvalds
32d197f18d Fix "update-cache" not fixing up the size field as appropriate.
The size field isn't in the tree information, so we need to
update it if the sha1 matches.
2005-04-11 11:33:58 -07:00
Linus Torvalds
711cf3a026 Make "update-cache --refresh" do what it really should do: just
refresh the "stat" information.

We need this after having done a "read-tree", for example, when the
stat information does not match the checked-out tree, and we want to
start getting efficient cache matching against the parts of the tree
that are already up-to-date.
2005-04-11 09:39:21 -07:00
Linus Torvalds
121481abf8 Make "update-cache" a bit friendlier to use (and harder to mis-use).
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-10 11:32:54 -07:00
Linus Torvalds
197ee8c970 Make "write_cache()" and friends available as generic routines.
This is needed for the change to make "read-tree" just read into the
cache (and then you do a "checkout-cache" to update your current dir
contents).
2005-04-09 12:09:27 -07:00
Linus Torvalds
eb38c22f53 Make "cache_name_pos()" available to others.
It finds the cache entry position for a given name, and is
generally useful. Sure, everybody can just scan the active
cache array, but since it's sorted, you actually want to
search it with a binary search, so let's not duplicate that
logic all over the place.
2005-04-09 09:26:55 -07:00
Linus Torvalds
19b2860cba Use "-Wall -O2" for the compiler to get more warnings.
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-08 09:59:28 -07:00
Linus Torvalds
8bc9a0c769 Add copyright notices.
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-07 15:16:10 -07:00
Linus Torvalds
e83c516331 Initial revision of "git", the information manager from hell 2005-04-07 15:13:13 -07:00