OpenBSD CVS

CVS log for src/usr.bin/cvs/file.c


[BACK] Up to [local] / src / usr.bin / cvs

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.276 / (download) - annotate - [select for diffs], Fri Aug 11 04:48:14 2023 UTC (9 months, 1 week ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, HEAD
Changes since 1.275: +5 -9 lines
Diff to previous 1.275 (colored)

cvs_file_copy() used futimes(), but only set the tv_sec fields,
which presumably meant passing stack garbage in the tv_usec and
failing with EINVAL, whee.  Switch to futimens() and set the full
timespecs from the incoming struct stat

ok millert@

Revision 1.275 / (download) - annotate - [select for diffs], Sun Oct 24 21:24:16 2021 UTC (2 years, 6 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.274: +4 -4 lines
Diff to previous 1.274 (colored)

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant.  Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk.  They could all be 0xdeafbeef.
ok millert

Revision 1.274 / (download) - annotate - [select for diffs], Mon Oct 19 19:51:20 2020 UTC (3 years, 6 months ago) by naddy
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.273: +10 -4 lines
Diff to previous 1.273 (colored)

Accommodate POSIX basename(3) that takes a non-const parameter and
may modify the string buffer.

ok florian@ millert@

Revision 1.273 / (download) - annotate - [select for diffs], Thu Jun 1 08:38:56 2017 UTC (6 years, 11 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.272: +4 -2 lines
Diff to previous 1.272 (colored)

If CVS_LOCK_REPO is set only attempt to unlock the repo if we're local.

Otherwise we end up calling cvs_repository_unlock() with garbage from the
stack if we're dealing with a remote cvsroot.

Revision 1.272 / (download) - annotate - [select for diffs], Thu Jun 1 08:08:24 2017 UTC (6 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.271: +6 -9 lines
Diff to previous 1.271 (colored)

Stop looking at current_cvsroot->cr_method to figure out if we're remote or not.

Instead use cvsroot_is_local() and cvsroot_is_remote().

Revision 1.271 / (download) - annotate - [select for diffs], Mon May 29 17:18:56 2017 UTC (6 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.270: +2 -2 lines
Diff to previous 1.270 (colored)

cvs_file_classify() was making the mistake of only taking over a sticky
tag from Entries for a given file if the sticky tag is present.

while changing this we can simplify some logic in update.c on how it
decides what tag to use for file classification.

Revision 1.270 / (download) - annotate - [select for diffs], Sun May 28 17:11:34 2017 UTC (6 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.269: +6 -4 lines
Diff to previous 1.269 (colored)

Let opencvs show ignored files on import, not showing them is just confusing.

ok stsp@

Revision 1.269 / (download) - annotate - [select for diffs], Sat Oct 15 22:20:17 2016 UTC (7 years, 7 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.268: +6 -8 lines
Diff to previous 1.268 (colored)

Quiet compiler warnings.  OK tomc@ tb@

Revision 1.268 / (download) - annotate - [select for diffs], Thu Oct 13 20:51:25 2016 UTC (7 years, 7 months ago) by fcambus
Branch: MAIN
Changes since 1.267: +2 -4 lines
Diff to previous 1.267 (colored)

rcsnum_free() -> free() cleanups. From Michael W. Bombardieri.

OK millert@

Revision 1.267 / (download) - annotate - [select for diffs], Thu Nov 5 09:48:21 2015 UTC (8 years, 6 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.266: +15 -17 lines
Diff to previous 1.266 (colored)

Remove xfree(), like already done for RCS. From Michael W Bombardieri,
ok mmcc

Revision 1.266 / (download) - annotate - [select for diffs], Thu Aug 20 22:32:41 2015 UTC (8 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.265: +3 -3 lines
Diff to previous 1.265 (colored)

Do not cast result of malloc/calloc/realloc* if stdlib.h is in scope
ok krw millert

Revision 1.265 / (download) - annotate - [select for diffs], Thu Feb 5 12:59:57 2015 UTC (9 years, 3 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.264: +2 -1 lines
Diff to previous 1.264 (colored)

Include stdint.h, not limits.h to get SIZE_MAX.  OK guenther@

Revision 1.264 / (download) - annotate - [select for diffs], Fri Jan 16 06:40:07 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.263: +21 -21 lines
Diff to previous 1.263 (colored)

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible.  Annotate <sys/param.h> lines with their current reasons.  Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc.  Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution.  These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)

Revision 1.263 / (download) - annotate - [select for diffs], Fri Dec 13 15:19:41 2013 UTC (10 years, 5 months ago) by zhuk
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.262: +3 -3 lines
Diff to previous 1.262 (colored)

Make it compile again. And there is a time_t fix as a bonus!

Input and okay jca@.

Revision 1.262 / (download) - annotate - [select for diffs], Thu Oct 28 15:02:41 2010 UTC (13 years, 6 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9
Changes since 1.261: +2 -2 lines
Diff to previous 1.261 (colored)

Change basep parameter of getdirentries() to be off_t *, not long *
so it works correctly with large offsets (and matches other systems).
This requires adding a new getdirentries syscall, with the old one
renamed to ogetdirentries.  All in-tree consumers of getdirentries()
have been updated.  Bump libc and libpthread major numbers.
OK and with deraadt@

Revision 1.261 / (download) - annotate - [select for diffs], Mon Sep 27 14:08:41 2010 UTC (13 years, 7 months ago) by joshe
Branch: MAIN
Changes since 1.260: +3 -2 lines
Diff to previous 1.260 (colored)

Have cvs_file_walkdir() ignore CVS/ directories when walking a repository tree.

This fixes r* commands such as rlog against a repository which has
somehow ended up containing CVS/Entries.Static files.

ok nicm@ guenther@

Revision 1.260 / (download) - annotate - [select for diffs], Fri Jul 23 21:46:05 2010 UTC (13 years, 9 months ago) by ray
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.259: +5 -5 lines
Diff to previous 1.259 (colored)

Reduce variable/function name and whitespace differences between
cvs/rcs.

OK xsa zinovik

Revision 1.259 / (download) - annotate - [select for diffs], Tue Jul 13 20:47:19 2010 UTC (13 years, 10 months ago) by nicm
Branch: MAIN
Changes since 1.258: +1 -4 lines
Diff to previous 1.258 (colored)

Do not put the file into conflict if it is no longer modified (user has
edited it back to repository state).

ok zinovik

Revision 1.258 / (download) - annotate - [select for diffs], Sat Mar 28 16:47:33 2009 UTC (15 years, 1 month ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7, OPENBSD_4_6_BASE, OPENBSD_4_6
Changes since 1.257: +8 -1 lines
Diff to previous 1.257 (colored)

when i fixed to attic handling i forgot one special case
that we'd hit in normal checkouts/updates for duplicate file
and dirs.

found and diff tested by krw@

Revision 1.257 / (download) - annotate - [select for diffs], Thu Mar 26 22:54:37 2009 UTC (15 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.256: +51 -30 lines
Diff to previous 1.256 (colored)

fix the way Attic is handled in our recursion code, so we
do not skip files or run over them twice.

also fixes -l and -r for checkout/update when a file in
Attic exists with that tag that in HEAD is a directory
in the normal repository like gnu/usr.bin/gcc/INSTALL.

as a bonus, we do not run fstat() twice per file or dir
anymore...

spotted by deraadt@

Revision 1.256 / (download) - annotate - [select for diffs], Wed Mar 25 21:50:33 2009 UTC (15 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.255: +28 -18 lines
Diff to previous 1.255 (colored)

switch our file and directory lists to RB trees (see tree(3)),
so we can benefit from faster lookup times while recursing.

Revision 1.255 / (download) - annotate - [select for diffs], Tue Mar 24 18:33:25 2009 UTC (15 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.254: +3 -2 lines
Diff to previous 1.254 (colored)

have CVS_OP_TAG and CVS_OP_RTAG use RCS_WRITE flag
when calling rcs_open(), so it gets automaticly synced
at the end of operations for that file instead of explicitly
calling rcs_write() when you're in RCS_READ mode only.

while here, make sure we do not try to free an uninitialized list.

Revision 1.254 / (download) - annotate - [select for diffs], Thu Mar 19 09:53:16 2009 UTC (15 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.253: +6 -1 lines
Diff to previous 1.253 (colored)

properly register Questionable files using CVS/Entries server-side
in order for them to show up as "? foobar" when opencvs is in server mode.

Revision 1.253 / (download) - annotate - [select for diffs], Sat Feb 21 18:26:47 2009 UTC (15 years, 2 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.252: +2 -2 lines
Diff to previous 1.252 (colored)

fix grammar
from <dawedawe@gmx.de>

Revision 1.252 / (download) - annotate - [select for diffs], Sat Feb 21 14:50:53 2009 UTC (15 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.251: +17 -11 lines
Diff to previous 1.251 (colored)

use FILE_ON_DISK flags when we need to verify if a file
exists in the working copy or not instead of checking fd being -1
since this can differ in server or local mode.

Revision 1.251 / (download) - annotate - [select for diffs], Sat Feb 21 13:44:18 2009 UTC (15 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.250: +6 -2 lines
Diff to previous 1.250 (colored)

use file_flags for 2 more reasons:
- mark a file as being inside the Attic/
- mark a file as existing in the working copy
  (both in local and remote mode)

this way we no longer will need to check if cf->fd == -1 and
think about wether or not we are in local or remote mode.

Revision 1.250 / (download) - annotate - [select for diffs], Sat Feb 21 12:47:19 2009 UTC (15 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.249: +10 -10 lines
Diff to previous 1.249 (colored)

alter cvs_file_get() so it takes flags instead of one set
value for user_supplied. allow us to carry any important file flags
over to cvs_file's later on.

makes it easier for what i have coming.

Revision 1.249 / (download) - annotate - [select for diffs], Sun Jun 15 04:38:52 2008 UTC (15 years, 11 months ago) by tobias
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4
Changes since 1.248: +4 -3 lines
Diff to previous 1.248 (colored)

Support the addition of new files in branches.

ok joris

Revision 1.248 / (download) - annotate - [select for diffs], Sat Jun 14 03:58:29 2008 UTC (15 years, 11 months ago) by tobias
Branch: MAIN
Changes since 1.247: +3 -2 lines
Diff to previous 1.247 (colored)

Added support for sticky date set in CVS/Tag and CVS/Entries per directory.

ok joris

Revision 1.247 / (download) - annotate - [select for diffs], Sat Jun 14 03:19:15 2008 UTC (15 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.246: +1 -4 lines
Diff to previous 1.246 (colored)

don't always re-open the same CVS/Entries file, instead keep the
last opened CVS/Entries around to operate on and close it whenever
we switch directory. gives us a small performance boost, obviously.

while doing this, switch the way we write revisions to disk by
using fwrite(3) so stuff can get written to disk in chunks
instead of writing everything line by line, another win.

with help from otto@
ok tobias@

Revision 1.246 / (download) - annotate - [select for diffs], Fri Jun 13 17:15:13 2008 UTC (15 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.245: +6 -7 lines
Diff to previous 1.245 (colored)

pass the complete path to cvs_file_get_cf() instead of reconstructing
it again in that function.

Revision 1.245 / (download) - annotate - [select for diffs], Thu Jun 12 16:54:46 2008 UTC (15 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.244: +3 -2 lines
Diff to previous 1.244 (colored)

properly deal with CVS_USE_WDIR.
ok tobias@

Revision 1.244 / (download) - annotate - [select for diffs], Thu Jun 12 07:29:54 2008 UTC (15 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.243: +2 -2 lines
Diff to previous 1.243 (colored)

fix logic

Revision 1.243 / (download) - annotate - [select for diffs], Thu Jun 12 07:16:14 2008 UTC (15 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.242: +3 -2 lines
Diff to previous 1.242 (colored)

completely kill the need for TMP_DIR when running checkout,
which gives us better performance among other things.

this is however disabled in a few cases:
1) whenever you run checkout over an existing tree (which acts as update)
2) whenever you specify -d or a module alias

we're planning on enabling this behaviour for case 2 in the future.

anoncvs sysadmins now love us even more.

ok tobias@

Revision 1.242 / (download) - annotate - [select for diffs], Mon Jun 9 22:31:24 2008 UTC (15 years, 11 months ago) by tobias
Branch: MAIN
Changes since 1.241: +8 -3 lines
Diff to previous 1.241 (colored)

Properly handle merged files and conflicts which may arrise while merge.
Instead of ignoring all files which contain possible conflict markers,
only watch out for files which have actually been merged.

With input by and ok joris.

Revision 1.241 / (download) - annotate - [select for diffs], Mon Jun 9 17:05:49 2008 UTC (15 years, 11 months ago) by tobias
Branch: MAIN
Changes since 1.240: +7 -7 lines
Diff to previous 1.240 (colored)

Stop fooling ourselfs by freeing cvs_directory_tag at the wrong position:
cvs_directory_tag is reinitalized every time we enter a new directory, so
make it clear by freeing before going into a new directory.

discussed with and ok joris

Revision 1.240 / (download) - annotate - [select for diffs], Sun Jun 8 13:34:22 2008 UTC (15 years, 11 months ago) by tobias
Branch: MAIN
Changes since 1.239: +1 -3 lines
Diff to previous 1.239 (colored)

Removed unreachable code.
Spotted by Igor Zinovik.

ok joris

Revision 1.239 / (download) - annotate - [select for diffs], Sun Jun 8 03:03:08 2008 UTC (15 years, 11 months ago) by tobias
Branch: MAIN
Changes since 1.238: +11 -4 lines
Diff to previous 1.238 (colored)

Avoid memory leaks in directory tag handling by always allocating and
always freeing dirtag.

ok joris

Revision 1.238 / (download) - annotate - [select for diffs], Sun Jun 8 02:52:24 2008 UTC (15 years, 11 months ago) by tobias
Branch: MAIN
Changes since 1.237: +6 -12 lines
Diff to previous 1.237 (colored)

There is no need to convert RCSNUMs to char just to see if they differ.
We have rcsnum_differ for that.  Also remove an unused var assignment if
no CVS/Entries entry exists.

ok joris

Revision 1.237 / (download) - annotate - [select for diffs], Thu May 22 06:50:18 2008 UTC (16 years ago) by xsa
Branch: MAIN
Changes since 1.236: +1 -1 lines
Diff to previous 1.236 (colored)

Spacing; Stefan Sperling.

Revision 1.236 / (download) - annotate - [select for diffs], Thu Mar 13 17:06:09 2008 UTC (16 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.235: +2 -1 lines
Diff to previous 1.235 (colored)

use RCS_PARSE_FULLY for CVS_OP_ADMIN as well.

Revision 1.235 / (download) - annotate - [select for diffs], Sun Mar 9 18:02:17 2008 UTC (16 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.234: +4 -5 lines
Diff to previous 1.234 (colored)

only compare file types if the file/directory exists both on disk
and in the CVS/Entries file, otherwise ignore it so we correctly
remove it from CVS/Entries.

spotted by krw@

Revision 1.234 / (download) - annotate - [select for diffs], Sun Mar 9 03:14:52 2008 UTC (16 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.233: +19 -4 lines
Diff to previous 1.233 (colored)

proper repository locking:
- all read operations now look for a lock, and wait if present but never
  try to lock the tree themselfs anymore.
- all write operations lock the tree where needed.
- commit locks all relevant directories before even attempting to start.

Revision 1.233 / (download) - annotate - [select for diffs], Sun Mar 9 03:06:56 2008 UTC (16 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.232: +1 -5 lines
Diff to previous 1.232 (colored)

do not empty the list in cvs_file_walklist() this is the caller
his responsibility, allows us to reuse the same file list
for multiple callbacks.

Revision 1.232 / (download) - annotate - [select for diffs], Sun Mar 9 02:30:42 2008 UTC (16 years, 2 months ago) by tobias
Branch: MAIN
Changes since 1.231: +2 -2 lines
Diff to previous 1.231 (colored)

cf->user_supplied cannot be used in cvs_file_classify for all commands
(like import, add, commit), so revert this change until a universal
solution is found.

Revision 1.231 / (download) - annotate - [select for diffs], Sun Mar 9 02:06:32 2008 UTC (16 years, 2 months ago) by tobias
Branch: MAIN
Changes since 1.230: +2 -2 lines
Diff to previous 1.230 (colored)

Don't force ourself to support CVS_USE_WDIR commands (release, update, ...)
only if we are in top directory of a repository.

ok joris

Revision 1.230 / (download) - annotate - [select for diffs], Sun Mar 9 01:54:03 2008 UTC (16 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.229: +5 -3 lines
Diff to previous 1.229 (colored)

pass user_supplied to struct cvs_file so it can be used
in the callbacks to verify if this file was specified on the command line.

Revision 1.229 / (download) - annotate - [select for diffs], Sun Mar 9 01:25:31 2008 UTC (16 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.228: +4 -4 lines
Diff to previous 1.228 (colored)

rename check_dir_tag to user_supplied to reflect what the flag
actually means and is used for.

Revision 1.228 / (download) - annotate - [select for diffs], Sun Mar 9 01:02:38 2008 UTC (16 years, 2 months ago) by tobias
Branch: MAIN
Changes since 1.227: +6 -3 lines
Diff to previous 1.227 (colored)

While allocation memory, make sure that file sizes are smaller than SIZE_MAX.

ok joris

Revision 1.227 / (download) - annotate - [select for diffs], Sat Mar 8 20:26:34 2008 UTC (16 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.226: +3 -2 lines
Diff to previous 1.226 (colored)

add checkout/update -j support.
still has some rough edges.

Revision 1.226 / (download) - annotate - [select for diffs], Sat Mar 1 21:29:37 2008 UTC (16 years, 2 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.225: +4 -4 lines
Diff to previous 1.225 (colored)

spacing

Revision 1.225 / (download) - annotate - [select for diffs], Sat Mar 1 14:55:03 2008 UTC (16 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.224: +3 -3 lines
Diff to previous 1.224 (colored)

make sure we compare our current file contents against the correct
revision specified in CVS/Entries if the timestamps mismatch, so
that we do not end up merging a file that was not even modified whenever
it needs a normal patch.

Revision 1.224 / (download) - annotate - [select for diffs], Wed Feb 20 17:29:28 2008 UTC (16 years, 3 months ago) by tobias
Branch: MAIN
Changes since 1.223: +1 -4 lines
Diff to previous 1.223 (colored)

With latest buf cleanup, rcs_rev_getbuf won't return NULL anymore.

OK joris@

Revision 1.223 / (download) - annotate - [select for diffs], Wed Feb 20 09:16:32 2008 UTC (16 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.222: +2 -3 lines
Diff to previous 1.222 (colored)

style

Revision 1.222 / (download) - annotate - [select for diffs], Mon Feb 11 20:33:11 2008 UTC (16 years, 3 months ago) by tobias
Branch: MAIN
Changes since 1.221: +2 -4 lines
Diff to previous 1.221 (colored)

Cleanup buf implementation:

* Don't check for NULL on buffer creation, because it calls fatal() when
  something's wrong.
* All buffers are supposed to expand if there is no space left in them,
  so zap flags as well.
* Remove code that is now dead.

OK joris@

> Inspired by a diff from Igor Zinovik about unchecked return value.

Revision 1.221 / (download) - annotate - [select for diffs], Sun Feb 10 14:00:41 2008 UTC (16 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.220: +5 -1 lines
Diff to previous 1.220 (colored)

introduce cvs_validate_directory(), which is used to check
directory path to make sure they do not fall outside the CVSROOT
or the working copy directory in a remote setup

Revision 1.220 / (download) - annotate - [select for diffs], Sun Feb 10 10:21:42 2008 UTC (16 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.219: +2 -2 lines
Diff to previous 1.219 (colored)

properly initialize cvs_specified_date so we dont end up with
random stuff going on

Revision 1.219 / (download) - annotate - [select for diffs], Sat Feb 9 12:20:33 2008 UTC (16 years, 3 months ago) by tobias
Branch: MAIN
Changes since 1.218: +3 -3 lines
Diff to previous 1.218 (colored)

Get in proper support for checkout/update -A when it comes to keyword
expansion options.

OK joris@

Revision 1.218 / (download) - annotate - [select for diffs], Sat Feb 9 11:17:02 2008 UTC (16 years, 3 months ago) by tobias
Branch: MAIN
Changes since 1.217: +16 -12 lines
Diff to previous 1.217 (colored)

Get in initial support for checkout -D.  Works fine with -r support right
now.

OK joris@

Revision 1.217 / (download) - annotate - [select for diffs], Fri Feb 8 22:07:50 2008 UTC (16 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.216: +2 -2 lines
Diff to previous 1.216 (colored)

when checking if a file is really dead do not use cvs_specified_tag only,
instead use the local variable 'tag' which is filled in by our code
to match the correct tag (specified on the command line, or in Entries);

this way, files do not dissapear when they're suppose to be there
if you are using -rSOMETHING

Revision 1.216 / (download) - annotate - [select for diffs], Fri Feb 8 21:32:07 2008 UTC (16 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.215: +2 -2 lines
Diff to previous 1.215 (colored)

do not override the specified tag (-r on the command line) with a directory
tag (if present) since this breaks certain things;

Revision 1.215 / (download) - annotate - [select for diffs], Mon Feb 4 18:23:58 2008 UTC (16 years, 3 months ago) by tobias
Branch: MAIN
Changes since 1.214: +2 -2 lines
Diff to previous 1.214 (colored)

Stripped off 'nb', which was (or was supposed to be) used to distinguish
between a named branch and a revision number supplied by -r.  This can
be done easier in cvs_write_tagfile directly.

OK joris@

Revision 1.214 / (download) - annotate - [select for diffs], Sun Feb 3 22:50:28 2008 UTC (16 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.213: +11 -1 lines
Diff to previous 1.213 (colored)

more CVSROOT/module stuff:

- allow more then 1 module to be specified per definition
- respect the "!" sign which means: "hey ignore this dir when checking out"
- non alias definitions can now contain files

ok tobias@

Revision 1.213 / (download) - annotate - [select for diffs], Sun Feb 3 15:08:04 2008 UTC (16 years, 3 months ago) by tobias
Branch: MAIN
Changes since 1.212: +2 -1 lines
Diff to previous 1.212 (colored)

(f)utimes takes sys/time.h

Revision 1.212 / (download) - annotate - [select for diffs], Thu Jan 31 21:56:34 2008 UTC (16 years, 3 months ago) by tobias
Branch: MAIN
Changes since 1.211: +7 -3 lines
Diff to previous 1.211 (colored)

If CVS/Entries.Static exists, don't look for more files in repository.

OK joris@

Revision 1.211 / (download) - annotate - [select for diffs], Thu Jan 31 10:15:05 2008 UTC (16 years, 3 months ago) by tobias
Branch: MAIN
Changes since 1.210: +25 -10 lines
Diff to previous 1.210 (colored)

Replaced the unused cvs_command variable cmd_req with cmd_flags, which states
if the current command is supposed to use a working directory or if it is a
repository-only command (as of now checkout -p, rtag, rlog).

Makes the code simpler, easier to read and automagically fixes some issues
we encountered with these commands (for example if a working directory
exists, or "." operations are performed).

OK joris@, niallo@

Revision 1.210 / (download) - annotate - [select for diffs], Mon Jan 21 16:36:46 2008 UTC (16 years, 4 months ago) by tobias
Branch: MAIN
Changes since 1.209: +4 -4 lines
Diff to previous 1.209 (colored)

Fixed export to be fully functional and compliant to GNU cvs in local and
remote setups.

OK xsa@

Revision 1.209 / (download) - annotate - [select for diffs], Thu Jan 10 11:21:34 2008 UTC (16 years, 4 months ago) by tobias
Branch: MAIN
Changes since 1.208: +10 -4 lines
Diff to previous 1.208 (colored)

various fixes for remote commands (right now we support rlog and rtag)

Revision 1.208 / (download) - annotate - [select for diffs], Thu Jan 10 10:12:09 2008 UTC (16 years, 4 months ago) by tobias
Branch: MAIN
Changes since 1.207: +17 -7 lines
Diff to previous 1.207 (colored)

Make cvs_file_classify more readable.

"Be especially careful with this one" joris@

Revision 1.207 / (download) - annotate - [select for diffs], Thu Jan 10 10:09:27 2008 UTC (16 years, 4 months ago) by tobias
Branch: MAIN
Changes since 1.206: +2 -3 lines
Diff to previous 1.206 (colored)

xmalloc + memset -> xcalloc

Revision 1.206 / (download) - annotate - [select for diffs], Thu Jan 10 09:37:26 2008 UTC (16 years, 4 months ago) by tobias
Branch: MAIN
Changes since 1.205: +5 -3 lines
Diff to previous 1.205 (colored)

RCS files without head keyword mustn't segfault our implementation.  Only
command that supports such files is "cvs status", therefore properly handle
them in all other commands, too.

Revision 1.205 / (download) - annotate - [select for diffs], Fri Nov 9 16:21:24 2007 UTC (16 years, 6 months ago) by tobias
Branch: MAIN
Changes since 1.204: +5 -1 lines
Diff to previous 1.204 (colored)

Fix for a rather unintuitive behaviour, this way it can be reproduced:

cvs checkout src/sbin/swapon
cvs checkout -rHEAD src/sbin/swapon

If no date or revision has been supplied, swapon.8 won't be checked out,
but if a revision (even if it is HEAD) or a date (-D) has been supplied,
swapon.8 will be checked out due to modifications in Attic/ after it has
been removed from tree.

Revision 1.204 / (download) - annotate - [select for diffs], Tue Oct 9 12:20:24 2007 UTC (16 years, 7 months ago) by tobias
Branch: MAIN
Changes since 1.203: +2 -2 lines
Diff to previous 1.203 (colored)

Do not warn user about files that are "no longer in the repository"
during cvs import.

OK niallo@

Revision 1.203 / (download) - annotate - [select for diffs], Fri Oct 5 19:28:23 2007 UTC (16 years, 7 months ago) by gilles
Branch: MAIN
Changes since 1.202: +6 -12 lines
Diff to previous 1.202 (colored)

strcspn() change

was okay'd by pyr@ and ok by millert@

Revision 1.202 / (download) - annotate - [select for diffs], Mon Sep 24 13:44:20 2007 UTC (16 years, 7 months ago) by joris
Branch: MAIN
Changes since 1.201: +5 -3 lines
Diff to previous 1.201 (colored)

add support to commit modified files to branches.

Revision 1.201 / (download) - annotate - [select for diffs], Sun Sep 23 11:19:24 2007 UTC (16 years, 7 months ago) by joris
Branch: MAIN
Changes since 1.200: +4 -1 lines
Diff to previous 1.200 (colored)

make sure when running update -r on existing files to overwrite
the sticky directory tag with it. since -r gets priority.

Revision 1.200 / (download) - annotate - [select for diffs], Sun Sep 23 10:49:49 2007 UTC (16 years, 7 months ago) by joris
Branch: MAIN
Changes since 1.199: +3 -1 lines
Diff to previous 1.199 (colored)

pass FILE_HAS_FLAG towards the update code so it can identify
if a given tag is present in the RCSfile or not.

Revision 1.199 / (download) - annotate - [select for diffs], Sat Sep 22 16:01:22 2007 UTC (16 years, 8 months ago) by joris
Branch: MAIN
Changes since 1.198: +39 -19 lines
Diff to previous 1.198 (colored)

better branching/sticky tag support, no branch commits yet though.

Revision 1.198 / (download) - annotate - [select for diffs], Sat Sep 22 15:57:24 2007 UTC (16 years, 8 months ago) by joris
Branch: MAIN
Changes since 1.197: +14 -4 lines
Diff to previous 1.197 (colored)

we no longer create a 0 sized file in our /tmp/cvs-serv<pid> server
directory when a client sends us info about a file that is up to date.

instead, remember the file is up to date in our CVS/Entries. Saves us a lot
of headaches on very big trees like src/

Revision 1.197 / (download) - annotate - [select for diffs], Mon Sep 17 10:07:21 2007 UTC (16 years, 8 months ago) by tobias
Branch: MAIN
Changes since 1.196: +8 -16 lines
Diff to previous 1.196 (colored)

Imported atomicio interface.

Requested by ray@, OK joris@

Revision 1.196 / (download) - annotate - [select for diffs], Sun Sep 9 20:24:06 2007 UTC (16 years, 8 months ago) by tobias
Branch: MAIN
Changes since 1.195: +12 -5 lines
Diff to previous 1.195 (colored)

Added support for checkout -p with local repository.

OK joris@

Revision 1.195 / (download) - annotate - [select for diffs], Fri Sep 7 23:30:30 2007 UTC (16 years, 8 months ago) by tobias
Branch: MAIN
Changes since 1.194: +4 -1 lines
Diff to previous 1.194 (colored)

Do not fatal if getpwuid() fails, instead ignore user configuration files.

OK joris@

Revision 1.194 / (download) - annotate - [select for diffs], Tue Jul 3 13:22:42 2007 UTC (16 years, 10 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.193: +21 -36 lines
Diff to previous 1.193 (colored)

Rework the way opencvs works in relation to files in the Attic/:

Previously, files in the 'Attic/' were linked into our filelist as being
'Attic/filename,v' this caused unneeded stress on certain functions
like cvs_file_classify() who had to do pointer voodoo to split out
the 'Attic/' part and do other very weird stuff to normalize the pathname
of these files.

Instead, we handle these files early in the start when we
build the fileslist in cvs_repository_getdir(). When encountering
the 'Attic/' directory, we recurse in it if required but instead of
using the 'Attic/' directory component as our base directory we stick
with the directory name where 'Attic/' resides in, resulting in the
correct filename while maintaining the correct RCSpath for the file.

This made the following things a lot easier:
(and in most cases actually fixed the below points)

- status with files in Attic/.
- checking out HEAD repositories with files in Attic/.
- checking out repositories with -rTAG.
- updating with -rTAG.

and as an added bonus the following now also works:

- correctly creating CVS/Tag in both local and remote mode thus
  allowing update/status/and more to work correctly with the tagged tree.
  (thanks to the correct handling of -rTAG cases).
- resetting tags with opencvs -A properly works too now.

This is a major step forward into the usability
of OpenCVS when it comes to maintaining multiple tagged trees, the next
logical step would be to fix commiting to branches.

enjoy you -stable cowards.

tested by myself, xsa, niallo and ckuethe
thanks guys!

Revision 1.193 / (download) - annotate - [select for diffs], Thu Jun 28 21:38:09 2007 UTC (16 years, 10 months ago) by xsa
Branch: MAIN
Changes since 1.192: +3 -3 lines
Diff to previous 1.192 (colored)

Sync revisions and time buffers size to be consistent with each others.
Simplifies further size tweaks if needed.
OK niallo@ ray@.

Revision 1.192 / (download) - annotate - [select for diffs], Tue Jun 26 02:24:10 2007 UTC (16 years, 10 months ago) by niallo
Branch: MAIN
Changes since 1.191: +19 -12 lines
Diff to previous 1.191 (colored)

add support for cvs rlog.
from Mickey.

ok joris@ ray@

Revision 1.191 / (download) - annotate - [select for diffs], Mon Jun 4 21:54:26 2007 UTC (16 years, 11 months ago) by niallo
Branch: MAIN
Changes since 1.190: +1 -5 lines
Diff to previous 1.190 (colored)

remove a fatal i committed by accident.

Revision 1.190 / (download) - annotate - [select for diffs], Fri Jun 1 17:47:47 2007 UTC (16 years, 11 months ago) by niallo
Branch: MAIN
Changes since 1.189: +42 -26 lines
Diff to previous 1.189 (colored)

add support for local and remote branch checkout.  for example,
cvs co -rOPENBSD_3_0 works now.
along the way, simplify and rationalise code and fix a few nits.

ok joris@ xsa@ ray@

Revision 1.189 / (download) - annotate - [select for diffs], Thu Feb 22 06:42:09 2007 UTC (17 years, 2 months ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.188: +10 -5 lines
Diff to previous 1.188 (colored)

general includes cleanup sweep. ok joris@ niallo@

Revision 1.188 / (download) - annotate - [select for diffs], Wed Feb 21 04:18:45 2007 UTC (17 years, 3 months ago) by ray
Branch: MAIN
Changes since 1.187: +3 -2 lines
Diff to previous 1.187 (colored)

Simplify cvs_buf_differ().  Also cvs_buf_differ(), a comparison
function, should not do any resource freeing.

OK joris@.

Revision 1.187 / (download) - annotate - [select for diffs], Mon Feb 19 11:40:00 2007 UTC (17 years, 3 months ago) by otto
Branch: MAIN
Changes since 1.186: +3 -3 lines
Diff to previous 1.186 (colored)

Fix const inconsistencies, void pointer artithmetic and a few other
things. now gcc -Wall and lint are more happy. ok joris@ xsa@

Revision 1.186 / (download) - annotate - [select for diffs], Fri Feb 9 16:46:26 2007 UTC (17 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.185: +2 -2 lines
Diff to previous 1.185 (colored)

correctly skip invalid entries when using
getdirentries(2).

ok otto@

Revision 1.185 / (download) - annotate - [select for diffs], Fri Feb 9 03:49:15 2007 UTC (17 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.184: +2 -2 lines
Diff to previous 1.184 (colored)

remove the cvs_file_classify() `loud' argument, it was used
in the old school days and serves no purpose what so ever now.

otto@ mentioned this to me a while ago

Revision 1.184 / (download) - annotate - [select for diffs], Wed Feb 7 23:47:56 2007 UTC (17 years, 3 months ago) by todd
Branch: MAIN
Changes since 1.183: +3 -3 lines
Diff to previous 1.183 (colored)

fstat() -> lstat() in a few select cases,
this fixes a bug where opencvs update would abort if a link existed that
pointed to a non-existent file/dir
ok joris@

Revision 1.183 / (download) - annotate - [select for diffs], Wed Jan 31 21:07:35 2007 UTC (17 years, 3 months ago) by xsa
Branch: MAIN
Changes since 1.182: +13 -32 lines
Diff to previous 1.182 (colored)

snprintf() -> xsnprintf()

Revision 1.182 / (download) - annotate - [select for diffs], Mon Jan 29 15:47:39 2007 UTC (17 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.181: +1 -8 lines
Diff to previous 1.181 (colored)

no longer spit out that you can add new files using 'cvs add',
it is pretty obvious on itself.

ok niallo@ xsa@

Revision 1.181 / (download) - annotate - [select for diffs], Sun Jan 28 03:03:35 2007 UTC (17 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.180: +1 -2 lines
Diff to previous 1.180 (colored)

remove debug printfs that sneaked in.

Revision 1.180 / (download) - annotate - [select for diffs], Sun Jan 28 02:04:45 2007 UTC (17 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.179: +2 -1 lines
Diff to previous 1.179 (colored)

add merging support in both local and remote sides.
tested by many, thanks.

Revision 1.179 / (download) - annotate - [select for diffs], Sat Jan 27 20:21:25 2007 UTC (17 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.178: +2 -2 lines
Diff to previous 1.178 (colored)

missed a case for CVS_CMD_ADD from last commit

Revision 1.178 / (download) - annotate - [select for diffs], Sat Jan 27 20:02:33 2007 UTC (17 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.177: +41 -50 lines
Diff to previous 1.177 (colored)

by default let cvs_file_classify complain about certain cases
and fix some warnings that should not come up for certain commands.

ok niallo@ otto@

Revision 1.177 / (download) - annotate - [select for diffs], Fri Jan 26 11:19:44 2007 UTC (17 years, 3 months ago) by joris
Branch: MAIN
Changes since 1.176: +2 -4 lines
Diff to previous 1.176 (colored)

Handle CVS/Entries and file timestamp correctly so we do
not mistakenly see a file as Modified while it is not.

As a result, we can remove the very hackish cvs_hack_time() and
GNU cvs and opencvs should almost get along now.

lotsa help and okay The otto@

Revision 1.176 / (download) - annotate - [select for diffs], Thu Jan 25 18:56:33 2007 UTC (17 years, 3 months ago) by otto
Branch: MAIN
Changes since 1.175: +7 -37 lines
Diff to previous 1.175 (colored)

use more stack allocations for fixed size buffers. ok xsa@ joris@

Revision 1.175 / (download) - annotate - [select for diffs], Tue Jan 23 01:53:38 2007 UTC (17 years, 3 months ago) by ray
Branch: MAIN
Changes since 1.174: +14 -3 lines
Diff to previous 1.174 (colored)

Don't fatal() when unexpected files are encountered in the working
copy.  Allows obj/ directories to exist (which are typically
symlinks.)

OK joris@

Revision 1.174 / (download) - annotate - [select for diffs], Sat Jan 20 17:02:36 2007 UTC (17 years, 4 months ago) by joris
Branch: MAIN
Changes since 1.173: +2 -2 lines
Diff to previous 1.173 (colored)

typo

Revision 1.173 / (download) - annotate - [select for diffs], Sat Jan 20 01:31:03 2007 UTC (17 years, 4 months ago) by joris
Branch: MAIN
Changes since 1.172: +2 -2 lines
Diff to previous 1.172 (colored)

more safety checks for file->file_rcsrev;
'cool' niallo@

Revision 1.172 / (download) - annotate - [select for diffs], Sat Jan 20 00:58:19 2007 UTC (17 years, 4 months ago) by niallo
Branch: MAIN
Changes since 1.171: +5 -4 lines
Diff to previous 1.171 (colored)

check return value of rcs_translate_tag().  prevents a segfault found by todd@.  still need to fix tag translation though.

ok joris@

Revision 1.171 / (download) - annotate - [select for diffs], Fri Jan 19 23:23:21 2007 UTC (17 years, 4 months ago) by joris
Branch: MAIN
Changes since 1.170: +48 -14 lines
Diff to previous 1.170 (colored)

When we hit a DT_UNKNOWN for dirent->d_type in our filelist functions,
stat() the filepath to get the correct type, and therefor
add it to the appropriate list.

This fixes opencvs with CVSROOTs on NFS and AFS, because they
both return D_UNKNOWN for directories (afs even for files too)
in dirent->d_type.

problem found by thib@ and todd@
tested by thib@, todd@,
ok niallo@

Revision 1.170 / (download) - annotate - [select for diffs], Sun Jan 14 23:10:56 2007 UTC (17 years, 4 months ago) by joris
Branch: MAIN
Changes since 1.169: +2 -4 lines
Diff to previous 1.169 (colored)

move things around in rcs_rev_getbuf() and rcs_rev_write_fd()
so that we do keyword expansion on-the-fly if required instead
of obtaining the revision in memory first, running over the revision
lines while expanding keywords and only then writing them to the fd
or memory buffer.

this drasticly decreases cpu usage by opencvs on very large trees (like src).

OK niallo@

Revision 1.169 / (download) - annotate - [select for diffs], Sat Jan 13 16:03:53 2007 UTC (17 years, 4 months ago) by joris
Branch: MAIN
Changes since 1.168: +5 -4 lines
Diff to previous 1.168 (colored)

make a copy of cf->file_ent->ce_rev in cf->file_rcsrev when needed
otherwise we might get a NULL dereference when free'ing the
cf struct with cvs_file_free()

Revision 1.168 / (download) - annotate - [select for diffs], Fri Jan 12 23:32:01 2007 UTC (17 years, 4 months ago) by niallo
Branch: MAIN
Changes since 1.167: +2 -2 lines
Diff to previous 1.167 (colored)

major re-work of the RCS api.  this results in 100x performance improvements in some places and much
reduced memory usage.  note that only checkout has been fully converted to use the new high-performance
functions.  other codepaths (e.g. update) still use the old method which is provided for backwards
compatibility.  we can convert the remaining slow bits over to the new api piece-by-piece.

"commit this, now" joris@
brad@ tested, too.

Revision 1.167 / (download) - annotate - [select for diffs], Fri Jan 12 19:28:12 2007 UTC (17 years, 4 months ago) by joris
Branch: MAIN
Changes since 1.166: +3 -1 lines
Diff to previous 1.166 (colored)

do not leak memory from rcs_head_get()

ok niallo@

Revision 1.166 / (download) - annotate - [select for diffs], Wed Jan 10 21:32:19 2007 UTC (17 years, 4 months ago) by xsa
Branch: MAIN
Changes since 1.165: +83 -1 lines
Diff to previous 1.165 (colored)

add a cvs_file_copy routine and use it for the edit command to
copy the file in the current working directory to CVS/Base/
ok ray@ joris@.

Revision 1.165 / (download) - annotate - [select for diffs], Sat Jan 6 17:09:08 2007 UTC (17 years, 4 months ago) by xsa
Branch: MAIN
Changes since 1.164: +2 -4 lines
Diff to previous 1.164 (colored)

add cvs_base_handle() routine to handle the CVS/Baserev* files.
first bits for the edit command for now.
definitly still more work to do for optimization...

Revision 1.164 / (download) - annotate - [select for diffs], Fri Jan 5 07:13:49 2007 UTC (17 years, 4 months ago) by xsa
Branch: MAIN
Changes since 1.163: +65 -1 lines
Diff to previous 1.163 (colored)

- introduce file comparison routine, cvs_file_cmp().
- compare the <file> in working dir and the one in CVS/Base/<file>
  for the unedit command.
hints otto@, input and ok ray@ niallo@.

Revision 1.163 / (download) - annotate - [select for diffs], Wed Oct 25 20:52:34 2006 UTC (17 years, 6 months ago) by moritz
Branch: MAIN
Changes since 1.162: +6 -6 lines
Diff to previous 1.162 (colored)

Check len to be > 0 before accessing buf[len-1] and check if the
last character in the string returned by fgets(3) is '\n' before
blindly overwriting it.

OK and input from xsa@

Revision 1.162 / (download) - annotate - [select for diffs], Fri Jul 7 17:37:17 2006 UTC (17 years, 10 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.161: +2 -2 lines
Diff to previous 1.161 (colored)

first part of opencvs remote, fairly useable on existing trees
although i advise against using it on real development trees for now.

only a few commands work right so far:
- commit
- diff
- status
- log
- update (partially working)

if you feel like testing remote and run into bugs feel free to
contact me, and please include a full trace (-t).

Revision 1.161 / (download) - annotate - [select for diffs], Mon Jun 19 05:05:17 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.160: +5 -5 lines
Diff to previous 1.160 (colored)

kill local and remote callback and just have one called fileproc.
we let the commands pass the correct function.

all in preparation for remote.

Revision 1.160 / (download) - annotate - [select for diffs], Wed Jun 14 20:28:53 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.159: +1 -4 lines
Diff to previous 1.159 (colored)

simplify cvs_hack_time() and the way it is called;

Revision 1.159 / (download) - annotate - [select for diffs], Wed Jun 14 14:10:50 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.158: +2 -3 lines
Diff to previous 1.158 (colored)

add cvs_buf_load_fd() which does the same as cvs_buf_load()
except it takes a decriptor as argument instead of a path.

modified cvs_buf_load() to open the descriptor then pass
it to cvs_buf_load_fd().

change all the calls to cvs_buf_load() that have a descriptor
open for the path to cvs_buf_load_fd() to prevent races.

Revision 1.158 / (download) - annotate - [select for diffs], Sat Jun 3 19:07:13 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.157: +3 -1 lines
Diff to previous 1.157 (colored)

add support for update -A and update -r<rev>.
hacking on the plane from toronto to barbados.

i will probably hack some more since im stuck in barbados
for 12 lovely hours over night cause the carribean airlines dont understand
the meaning over 'more than one flight a day'.

Revision 1.157 / (download) - annotate - [select for diffs], Fri Jun 2 19:10:23 2006 UTC (17 years, 11 months ago) by david
Branch: MAIN
Changes since 1.156: +2 -2 lines
Diff to previous 1.156 (colored)

various spelling fixes

Revision 1.156 / (download) - annotate - [select for diffs], Thu Jun 1 20:00:52 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.155: +3 -2 lines
Diff to previous 1.155 (colored)

major rewrite of some rcs parsing stuff:

- rework rcs_getrev() to correctly support branches
- rework rcs_translate_tag() to correctly translate given symbols or
  branches into their matching revisions
- rework rcs_rev_add() to correctly update its 'next' pointers
  and insert the new revision in the correct place on the list.
- rework rcs_head_get() to return the latest revision on the default
  branch if it has been set or the normal HEAD revision otherwise.
- no longer access the rf_head member of the RCSFILE struct manually,
  use the rcs_head_get() function which correctly returns the HEAD
  revision, there might be a default branch that has to be used.
- for now, when commiting a new revision reset the default branch.

Revision 1.155 / (download) - annotate - [select for diffs], Wed May 31 01:26:22 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.154: +5 -7 lines
Diff to previous 1.154 (colored)

allow commit to ressurect added files that exist in Attic/

Revision 1.154 / (download) - annotate - [select for diffs], Tue May 30 22:06:13 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.153: +5 -3 lines
Diff to previous 1.153 (colored)

only look into the Attic for certain commands

Revision 1.153 / (download) - annotate - [select for diffs], Tue May 30 21:32:52 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.152: +14 -7 lines
Diff to previous 1.152 (colored)

fill in the correct revision number we will want in file_rcsrev
for each cvs_file struct, this will help us with sticky tags,
commiting to branches and importing into existing repositories.

Revision 1.152 / (download) - annotate - [select for diffs], Tue May 30 19:16:51 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.151: +21 -4 lines
Diff to previous 1.151 (colored)

look inside the Attic if a specified RCS file cannot be found
in the normal repository, and a way to identify an RCS file in
the Attic in the RCSFILE struct.
will come in handy later on.

Revision 1.151 / (download) - annotate - [select for diffs], Tue May 30 07:00:30 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.150: +7 -4 lines
Diff to previous 1.150 (colored)

hello import, only works for non-existing repositories right now,
but work is in progress for importing stuff into existing repositories.

Revision 1.150 / (download) - annotate - [select for diffs], Mon May 29 06:05:56 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.149: +1 -2 lines
Diff to previous 1.149 (colored)

i was wrong adding ".*" to the default ignore patterns,
so remove it from there again.

Revision 1.149 / (download) - annotate - [select for diffs], Mon May 29 05:06:03 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.148: +21 -1 lines
Diff to previous 1.148 (colored)

if the timestamp of the file has changed and
no longer matches the timestamp in the CVS/Entries file, be
sure to compare the file contents to the revision contents to
be positive the file actually changed.

otherwise we would see a file as modified if somebody
would for example open it in vi and simply :wq it.

Revision 1.148 / (download) - annotate - [select for diffs], Sun May 28 23:38:42 2006 UTC (17 years, 11 months ago) by pedro
Branch: MAIN
Changes since 1.147: +3 -3 lines
Diff to previous 1.147 (colored)

Fix engrish, okay joris@

Revision 1.147 / (download) - annotate - [select for diffs], Sun May 28 21:11:12 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.146: +11 -2 lines
Diff to previous 1.146 (colored)

add basic 'cvs log' support.

Revision 1.146 / (download) - annotate - [select for diffs], Sun May 28 17:25:18 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.145: +10 -5 lines
Diff to previous 1.145 (colored)

several fixes to the file api:
- default to CVS_FILE when something is totally unknown
- cvs_get_repository_path() now returns the full repository path for
  the given argument.
- cvs_get_repository_name() returns the contents of CVS/Repository
  to the caller.
- allow command callbacks to specify if our recursion code needs
  to skip the directory or not.
- when checking for a admin directory, make sure it is in fact
  a directory. if it is not we dont want to recurse inside.

Revision 1.145 / (download) - annotate - [select for diffs], Sun May 28 10:14:59 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.144: +3 -1 lines
Diff to previous 1.144 (colored)

add rf_dead field to RCSFILE which can tell us
if an RCSFILE is dead, will come in usefull later in commands.

Revision 1.144 / (download) - annotate - [select for diffs], Sun May 28 08:49:01 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.143: +15 -1 lines
Diff to previous 1.143 (colored)

if we run into a file that was suppose to be a directory
or a directory that is suppose to be a file, abort right away
because something bad probably happened.

Revision 1.143 / (download) - annotate - [select for diffs], Sun May 28 07:56:44 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.142: +18 -16 lines
Diff to previous 1.142 (colored)

allow commands to shut up the output from cvs_file_classify
if the commands want to output certain stuff themselfs

Revision 1.142 / (download) - annotate - [select for diffs], Sat May 27 20:56:39 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.141: +2 -1 lines
Diff to previous 1.141 (colored)

more standard ignore pattern

Revision 1.141 / (download) - annotate - [select for diffs], Sat May 27 15:15:43 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.140: +1 -2 lines
Diff to previous 1.140 (colored)

remove debug output

Revision 1.140 / (download) - annotate - [select for diffs], Sat May 27 15:14:27 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.139: +23 -8 lines
Diff to previous 1.139 (colored)

allow commands to respect the -l flag, if the -l flag is
specified certain commands will not recurse into directories.

at the same time introduce a method of specifying wether or not
a command should look in the repository for files.

Revision 1.139 / (download) - annotate - [select for diffs], Sat May 27 06:15:50 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.138: +2 -2 lines
Diff to previous 1.138 (colored)

use RCS_STATE_DEAD instead of plain old 'dead' when checking
the RCS file its state.

Revision 1.138 / (download) - annotate - [select for diffs], Sat May 27 03:30:30 2006 UTC (17 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.137: +511 -1125 lines
Diff to previous 1.137 (colored)

commit the new opencvs code, i have been hacking on
this for the past 2 weeks now and it should go in at
the start of the hackathon so others can help out.

this code is a lot safer, smarter, faster and best of
all it is actually doing what it is suppose to do!

basic checkout, update, status, diff and commit are
working in local mode only.
there is no support for any remote setups now.

Revision 1.137 / (download) - annotate - [select for diffs], Fri Apr 14 02:45:35 2006 UTC (18 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.136: +23 -23 lines
Diff to previous 1.136 (colored)

remove a metric buttload of excessive ()
no binary change; ok ray

Revision 1.136 / (download) - annotate - [select for diffs], Wed Apr 5 01:38:55 2006 UTC (18 years, 1 month ago) by ray
Branch: MAIN
Changes since 1.135: +4 -9 lines
Diff to previous 1.135 (colored)

Use variable names for sizeof, remove casts in front of xmalloc,
use xcalloc and xstrdup where appropriate, and other stuff.

OK joris@

Revision 1.135 / (download) - annotate - [select for diffs], Sun Apr 2 02:02:27 2006 UTC (18 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.134: +1 -9 lines
Diff to previous 1.134 (colored)

spacing;

Revision 1.134 / (download) - annotate - [select for diffs], Mon Jan 2 08:11:56 2006 UTC (18 years, 4 months ago) by xsa
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9
Changes since 1.133: +2 -15 lines
Diff to previous 1.133 (colored)

#include's cleanup; ok joris@ niallo@.

Revision 1.133 / (download) - annotate - [select for diffs], Mon Dec 12 21:30:33 2005 UTC (18 years, 5 months ago) by joris
Branch: MAIN
Changes since 1.132: +4 -2 lines
Diff to previous 1.132 (colored)

only xfree() cf->cf_dir when it's not NULL;

Revision 1.132 / (download) - annotate - [select for diffs], Sat Dec 10 20:27:45 2005 UTC (18 years, 5 months ago) by joris
Branch: MAIN
Changes since 1.131: +32 -97 lines
Diff to previous 1.131 (colored)

switch to xmalloc stuff, me and xsa@ agreed on this a long
time ago, but we were being held back by jfb. too bad for him.

next step is to use fatal() through out the code for unrecoverable
errors instead of trying to be all nice and fluffy and reach main() again.

ok niallo@ and xsa@

Revision 1.131 / (download) - annotate - [select for diffs], Sun Dec 4 17:39:02 2005 UTC (18 years, 5 months ago) by joris
Branch: MAIN
Changes since 1.130: +1 -4 lines
Diff to previous 1.130 (colored)

more code cleanup, remove useless flags and parts of code
that never got used in the first place;

Revision 1.130 / (download) - annotate - [select for diffs], Sat Dec 3 15:07:21 2005 UTC (18 years, 5 months ago) by joris
Branch: MAIN
Changes since 1.129: +10 -1 lines
Diff to previous 1.129 (colored)

fix date handling in opencvs, this was broken since the very start.
now, when you checkout a tree with gnu cvs, opencvs no longer sees all
the files as modified, and visa versa.

this actually makes gnu cvs and opencvs dance together in working copies.

Revision 1.129 / (download) - annotate - [select for diffs], Sat Dec 3 02:19:17 2005 UTC (18 years, 5 months ago) by joris
Branch: MAIN
Changes since 1.128: +1 -17 lines
Diff to previous 1.128 (colored)

remove unused and useless functions, they just get in the way;

Revision 1.128 / (download) - annotate - [select for diffs], Sat Dec 3 01:02:08 2005 UTC (18 years, 5 months ago) by joris
Branch: MAIN
Changes since 1.127: +68 -4 lines
Diff to previous 1.127 (colored)

add very basic support for the following stuff:

- checkout in local mode (example: /cvs)
- update in local and server mode (example: /cvs and user@host:/cvs)
- import in local and server mode (example: /cvs and user@host:/cvs)

what remains to be done:

- not all options are supported yet, and update cannot pick up newly
  added files yet. these things are pending and will be commited
  real soon.

- checkout only works locally right now.

- fix rcs parsing code so that we don't fucking hog 100% cpu
  on really BIG BIG BIG ass trees.

mainly tested by pedro@ and myself, thanks a lot pedro!

"go for it" niallo@

Revision 1.127 / (download) - annotate - [select for diffs], Sat Nov 12 21:34:48 2005 UTC (18 years, 6 months ago) by niallo
Branch: MAIN
Changes since 1.126: +9 -10 lines
Diff to previous 1.126 (colored)

- remove strtab stuff. serves no useful purpose.

diff is from joris@, committing on his behalf because his net connection
is very dodgy right now.

Revision 1.126 / (download) - annotate - [select for diffs], Thu Oct 27 00:24:24 2005 UTC (18 years, 6 months ago) by joris
Branch: MAIN
Changes since 1.125: +2 -2 lines
Diff to previous 1.125 (colored)

if cvs_file_loadinfo fails, return failure to the caller instead
of acting like everything went fine.

this fixes eternal loops in the client which waits for data
from the server while the server waits for data from the client.

problem found and fixed by Nuno Morgadinho, thanks!

Revision 1.125 / (download) - annotate - [select for diffs], Sun Oct 16 00:29:17 2005 UTC (18 years, 7 months ago) by joris
Branch: MAIN
Changes since 1.124: +2 -2 lines
Diff to previous 1.124 (colored)

less 'pirates of the carribean' like error message;

Revision 1.124 / (download) - annotate - [select for diffs], Fri Oct 7 21:47:32 2005 UTC (18 years, 7 months ago) by reyk
Branch: MAIN
Changes since 1.123: +4 -4 lines
Diff to previous 1.123 (colored)

knf and spacing, ok joris@

Revision 1.123 / (download) - annotate - [select for diffs], Thu Sep 15 22:12:23 2005 UTC (18 years, 8 months ago) by joris
Branch: MAIN
Changes since 1.122: +6 -1 lines
Diff to previous 1.122 (colored)

strip trailing slashes from any arguments passed to opencvs.
ok xsa@

Revision 1.122 / (download) - annotate - [select for diffs], Thu Sep 15 17:01:10 2005 UTC (18 years, 8 months ago) by xsa
Branch: MAIN
Changes since 1.121: +5 -4 lines
Diff to previous 1.121 (colored)

check in cvs_mkadmin() wether we need to create or not the
CVS/Tag file. Sync the rest of the code accordingly; OK joris@.

Revision 1.121 / (download) - annotate - [select for diffs], Wed Sep 14 16:32:08 2005 UTC (18 years, 8 months ago) by joris
Branch: MAIN
Changes since 1.120: +3 -3 lines
Diff to previous 1.120 (colored)

knf

Revision 1.120 / (download) - annotate - [select for diffs], Tue Sep 13 17:38:35 2005 UTC (18 years, 8 months ago) by joris
Branch: MAIN
Changes since 1.119: +19 -7 lines
Diff to previous 1.119 (colored)

fix conditions when the base directory should be passed to the command
callback.

fixes local commands with directories as arguments (like 'add').
problem found and OK xsa@

Revision 1.119 / (download) - annotate - [select for diffs], Sun Sep 11 14:16:48 2005 UTC (18 years, 8 months ago) by joris
Branch: MAIN
Changes since 1.118: +2 -2 lines
Diff to previous 1.118 (colored)

only remove and free a cvsroot struct if it has been added in
cvsroot_parse().

fixes segfaults opencvs has been receiving when cvsroot_parse() fails.
"go ahead" xsa@

Revision 1.118 / (download) - annotate - [select for diffs], Tue Sep 6 17:08:05 2005 UTC (18 years, 8 months ago) by xsa
Branch: MAIN
Changes since 1.117: +1 -2 lines
Diff to previous 1.117 (colored)

more bits for the local remove command support; OK joris@.

Revision 1.117 / (download) - annotate - [select for diffs], Tue Sep 6 15:29:33 2005 UTC (18 years, 8 months ago) by joris
Branch: MAIN
Changes since 1.116: +17 -19 lines
Diff to previous 1.116 (colored)

Make sure entries do not go away when we run through them in the file code.
Fixes corrupt Entry files.

Problem found by Mike Pechkin, thanks.

Revision 1.116 / (download) - annotate - [select for diffs], Fri Aug 19 13:36:50 2005 UTC (18 years, 9 months ago) by joris
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE, OPENBSD_3_8
Changes since 1.115: +6 -6 lines
Diff to previous 1.115 (colored)

do not close the entries file until all files depending on it have
been passed to the callback.

ok xsa@

Revision 1.115 / (download) - annotate - [select for diffs], Wed Aug 17 16:23:19 2005 UTC (18 years, 9 months ago) by joris
Branch: MAIN
Changes since 1.114: +24 -19 lines
Diff to previous 1.114 (colored)

keep a pointer to the CVSENTRIES in the CVSFILE structure.
ok xsa@

Revision 1.114 / (download) - annotate - [select for diffs], Wed Aug 17 08:35:53 2005 UTC (18 years, 9 months ago) by xsa
Branch: MAIN
Changes since 1.113: +4 -4 lines
Diff to previous 1.113 (colored)

trailing whitespaces ...

Revision 1.113 / (download) - annotate - [select for diffs], Sun Aug 14 19:49:18 2005 UTC (18 years, 9 months ago) by xsa
Branch: MAIN
Changes since 1.112: +2 -2 lines
Diff to previous 1.112 (colored)

missing casts; ok joris

Revision 1.112 / (download) - annotate - [select for diffs], Thu Aug 11 11:54:42 2005 UTC (18 years, 9 months ago) by xsa
Branch: MAIN
Changes since 1.111: +2 -2 lines
Diff to previous 1.111 (colored)

fgets() expects the 2nd arg to be an int.

Revision 1.111 / (download) - annotate - [select for diffs], Wed Aug 3 14:43:08 2005 UTC (18 years, 9 months ago) by xsa
Branch: MAIN
Changes since 1.110: +22 -28 lines
Diff to previous 1.110 (colored)

check only once for the HOME environment variable and reuse
its value (if any) to check for the .cvsrc and .cvsignore files;
ok jfb@ joris@.

Revision 1.110 / (download) - annotate - [select for diffs], Sat Jul 30 21:16:17 2005 UTC (18 years, 9 months ago) by moritz
Branch: MAIN
Changes since 1.109: +3 -8 lines
Diff to previous 1.109 (colored)

o remove a call to cvs_ent_open() from cvs_file_create(),
  since cvs_mkadmin() already does this for us.
o don't deref NULL ptr when cvs_ent_open() fails.
o fix format string in cvs_log().

ok joris@

Revision 1.109 / (download) - annotate - [select for diffs], Fri Jul 29 17:04:42 2005 UTC (18 years, 9 months ago) by xsa
Branch: MAIN
Changes since 1.108: +6 -6 lines
Diff to previous 1.108 (colored)

minor KNF;

Revision 1.108 / (download) - annotate - [select for diffs], Fri Jul 29 13:56:00 2005 UTC (18 years, 9 months ago) by joris
Branch: MAIN
Changes since 1.107: +9 -5 lines
Diff to previous 1.107 (colored)

make more use of error codes in the file code.
ok xsa@

Revision 1.107 / (download) - annotate - [select for diffs], Fri Jul 29 00:33:55 2005 UTC (18 years, 9 months ago) by joris
Branch: MAIN
Changes since 1.106: +13 -10 lines
Diff to previous 1.106 (colored)

correctly build the repository path in cvs_load_dirinfo() so we do not
end up with a totally messed up repopath when there are no admin files present.

problems reported by mpech@ and Nuno Margadinho.
tested by Nuno Margadinho, thanks a lot!

Revision 1.106 / (download) - annotate - [select for diffs], Wed Jul 27 10:36:14 2005 UTC (18 years, 9 months ago) by xsa
Branch: MAIN
Changes since 1.105: +2 -2 lines
Diff to previous 1.105 (colored)

rename cvs_remove_dir() to cvs_rmdir() because it might be confusing
with the `remove' command local functions. ok joris@.

Revision 1.105 / (download) - annotate - [select for diffs], Mon Jul 25 12:58:22 2005 UTC (18 years, 9 months ago) by joris
Branch: MAIN
Changes since 1.104: +2 -2 lines
Diff to previous 1.104 (colored)

make it compile without warnings

Revision 1.104 / (download) - annotate - [select for diffs], Mon Jul 25 12:05:43 2005 UTC (18 years, 9 months ago) by xsa
Branch: MAIN
Changes since 1.103: +14 -14 lines
Diff to previous 1.103 (colored)

KNF;

Revision 1.103 / (download) - annotate - [select for diffs], Sun Jul 24 19:04:55 2005 UTC (18 years, 9 months ago) by joris
Branch: MAIN
Changes since 1.102: +4 -7 lines
Diff to previous 1.102 (colored)

do not bail out in client mode if the file is not on disk at all.
noticed and ok xsa@

Revision 1.102 / (download) - annotate - [select for diffs], Sun Jul 24 18:54:47 2005 UTC (18 years, 9 months ago) by joris
Branch: MAIN
Changes since 1.101: +2 -2 lines
Diff to previous 1.101 (colored)

"cvslog.*" should really be "cvslog*"

Revision 1.101 / (download) - annotate - [select for diffs], Sun Jul 24 18:34:13 2005 UTC (18 years, 9 months ago) by joris
Branch: MAIN
Changes since 1.100: +2 -1 lines
Diff to previous 1.100 (colored)

add "cvslog.*" to the ignore list
noticed by xsa@

Revision 1.100 / (download) - annotate - [select for diffs], Sat Jul 23 11:19:46 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.99: +459 -322 lines
Diff to previous 1.99 (colored)

rewrite of the file code. the previous one was just
a mess and not clean.
this code is much cleaner, faster, and uses less memory overall.

tested by xsa@, brad@, Michael Knudsen, and myself.
okay xsa@

Revision 1.99 / (download) - annotate - [select for diffs], Fri Jul 22 16:27:29 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.98: +5 -5 lines
Diff to previous 1.98 (colored)

use the cf_name field of the CVSFILE struct instead of using the old
CVS_FILE_NAME macro. This macro used to be nifty because of all
the referencing for the names, but since we don't do that anymore and
use cf_name directly... byebye CVS_FILE_NAME()

okay xsa@

Revision 1.98 / (download) - annotate - [select for diffs], Mon Jul 18 01:02:20 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.97: +2 -2 lines
Diff to previous 1.97 (colored)

oops, last commit broke a few things

Revision 1.97 / (download) - annotate - [select for diffs], Mon Jul 18 00:55:11 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.96: +2 -2 lines
Diff to previous 1.96 (colored)

let it compile without any warnings

Revision 1.96 / (download) - annotate - [select for diffs], Fri Jul 15 13:10:56 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.95: +3 -1 lines
Diff to previous 1.95 (colored)

if the file has been added but is not on disk make sure we can pick it up
as being "added".

fixes the log command on our server-side for added files.

tested & ok xsa@

Revision 1.95 / (download) - annotate - [select for diffs], Thu Jul 7 20:24:35 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.94: +9 -4 lines
Diff to previous 1.94 (colored)



do not run the callback for "." twice.

ok xsa@

Revision 1.94 / (download) - annotate - [select for diffs], Thu Jul 7 19:06:12 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.93: +6 -3 lines
Diff to previous 1.93 (colored)



add a field to CVSFILE which holds the timestamp from the Entries file.
usefull for some commands.

ok xsa@

Revision 1.93 / (download) - annotate - [select for diffs], Thu Jul 7 14:27:57 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.92: +5 -5 lines
Diff to previous 1.92 (colored)



remove trailing whitespaces

from deraadt@

Revision 1.92 / (download) - annotate - [select for diffs], Tue Jul 5 16:55:30 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.91: +4 -5 lines
Diff to previous 1.91 (colored)



if we can't stat the file and there is no entry for it, don't fail
but assume it is a regular file and it is in unknown state.

ok xsa@

Revision 1.91 / (download) - annotate - [select for diffs], Fri Jul 1 08:59:09 2005 UTC (18 years, 10 months ago) by joris
Branch: MAIN
Changes since 1.90: +36 -15 lines
Diff to previous 1.90 (colored)



- plug memleak in cvs_file_getdir().
- fix behaviour regarding unknown directories.

ok xsa@

Revision 1.90 / (download) - annotate - [select for diffs], Fri Jun 17 15:09:55 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.89: +6 -3 lines
Diff to previous 1.89 (colored)



correctly build a temporary copy of the client its repository
localy, so the server can execute the local commands on it
and pipe the output to the client.

with this diff in, our server is now working, please note
that we currently don't have support for all commands yet,
but you can expect this soon.

ok xsa@

Revision 1.89 / (download) - annotate - [select for diffs], Fri Jun 17 14:58:23 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.88: +6 -1 lines
Diff to previous 1.88 (colored)



when pruning don't try to remove any directories outside
the actual repository.

reported by david@, ok xsa@

Revision 1.88 / (download) - annotate - [select for diffs], Tue Jun 14 15:27:31 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.87: +65 -2 lines
Diff to previous 1.87 (colored)



finish pruning support, this has been sitting
in my tree since c2k5

ok xsa@

Revision 1.87 / (download) - annotate - [select for diffs], Thu Jun 9 01:45:45 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.86: +16 -2 lines
Diff to previous 1.86 (colored)



don't forget to close entfile in cvs_file_getspec().

Revision 1.86 / (download) - annotate - [select for diffs], Wed Jun 1 16:49:20 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.85: +1 -3 lines
Diff to previous 1.85 (colored)



remove debug code

Revision 1.85 / (download) - annotate - [select for diffs], Wed Jun 1 15:46:32 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.84: +38 -5 lines
Diff to previous 1.84 (colored)



don't trust cvs_file_getpath() to get the correct path when creating
the Repository file for subdirs, if we are not in the root directory of
the repository.

instead, save the parent's Repository path and reuse it when needed,
this way CVS/Repository files aren't messed up with completely wrong
pathnames when running "cvs update -d" in src/sys/ for example.

ok xsa@

Revision 1.84 / (download) - annotate - [select for diffs], Wed Jun 1 14:03:14 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.83: +27 -3 lines
Diff to previous 1.83 (colored)



when creating a new directory, steal the parent its cvsroot structure if
we cannot find one with cvsroot_get().

fixes several segfaults.

tested & ok xsa@

Revision 1.83 / (download) - annotate - [select for diffs], Tue May 31 08:58:48 2005 UTC (18 years, 11 months ago) by xsa
Branch: MAIN
Changes since 1.82: +7 -7 lines
Diff to previous 1.82 (colored)

headers ordering (alphabetically) and cleanup, from mbalmer@ and myself;

Revision 1.82 / (download) - annotate - [select for diffs], Tue May 31 08:26:40 2005 UTC (18 years, 11 months ago) by xsa
Branch: MAIN
Changes since 1.81: +2 -3 lines
Diff to previous 1.81 (colored)

remove LP_ERROR log priority level and rather use LP_ERR as they are both
the same...

ok jfb joris

Revision 1.81 / (download) - annotate - [select for diffs], Sat May 28 01:34:28 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.80: +3 -2 lines
Diff to previous 1.80 (colored)



make sure we check the Entry file when we need to.

ok jfb@

Revision 1.80 / (download) - annotate - [select for diffs], Wed May 25 09:42:12 2005 UTC (18 years, 11 months ago) by jfb
Branch: MAIN
Changes since 1.79: +2 -2 lines
Diff to previous 1.79 (colored)

assume that a file is modified if its timestamp is lower
than the value found in Entries.  This can't really hurt, as
the server will simply ignore it if it's not really modified

Revision 1.79 / (download) - annotate - [select for diffs], Tue May 24 21:57:33 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.78: +2 -2 lines
Diff to previous 1.78 (colored)



don't fail on mkdir(2) when errno is EEXIST in cvs_file_create().

Revision 1.78 / (download) - annotate - [select for diffs], Tue May 24 20:04:43 2005 UTC (18 years, 11 months ago) by joris
Branch: MAIN
Changes since 1.77: +4 -3 lines
Diff to previous 1.77 (colored)



- simplify cvs_mkadmin().
- create the correct base paths in checkout.
- remove the CVS_CMD_SENDARGS2 flag for checkout, it doesn't need it.

okay jfb@

Revision 1.77 / (download) - annotate - [select for diffs], Tue May 24 04:12:25 2005 UTC (19 years ago) by jfb
Branch: MAIN
Changes since 1.76: +19 -11 lines
Diff to previous 1.76 (colored)

Merge the cvs_cmd and cvs_cmd_info structures and add the necessary
fields to hook local versions of the commands.  This needs to go in
before it gets any bigger

ok joris

Revision 1.76 / (download) - annotate - [select for diffs], Sun May 22 17:47:53 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.75: +2 -3 lines
Diff to previous 1.75 (colored)



unused variable

Revision 1.75 / (download) - annotate - [select for diffs], Fri May 20 17:23:18 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.74: +4 -2 lines
Diff to previous 1.74 (colored)



plug a memleak

Revision 1.74 / (download) - annotate - [select for diffs], Fri May 20 05:25:44 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.73: +21 -19 lines
Diff to previous 1.73 (colored)



allow a cvs command to be executed from outside a repository,
ie: "cvs -d /cvs update src".

problem spotted & ok xsa@, jfb@

Revision 1.73 / (download) - annotate - [select for diffs], Fri May 20 05:13:44 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.72: +43 -8 lines
Diff to previous 1.72 (colored)



execute the command callback at the same time we are building
the in-memory filelist. cuts down on execution time for larger trees.

"put it in!" jfb@

Revision 1.72 / (download) - annotate - [select for diffs], Fri May 20 05:01:34 2005 UTC (19 years ago) by jfb
Branch: MAIN
Changes since 1.71: +5 -3 lines
Diff to previous 1.71 (colored)

don't attempt to copy the file's tag from the entry if we're dealing
with a directory, otherwise we're squashing the file list as part of
the union

ok joris

Revision 1.71 / (download) - annotate - [select for diffs], Thu May 12 23:43:49 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.70: +4 -1 lines
Diff to previous 1.70 (colored)



set cvsent to NULL if entfile is NULL, fixes a crash
in cvs_file_lget().

Revision 1.70 / (download) - annotate - [select for diffs], Thu May 12 23:35:42 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.69: +4 -1 lines
Diff to previous 1.69 (colored)



introduce a new flag to the file api: CF_NOFILES, which allows us
to only load directories and skip regular files.

tested and ok xsa@

Revision 1.69 / (download) - annotate - [select for diffs], Sun May 1 23:21:39 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.68: +7 -4 lines
Diff to previous 1.68 (colored)



if CF_MKADMIN flag is specified the administrative files will
be created (if missing) in cvs_load_dirinfo().

Revision 1.68 / (download) - annotate - [select for diffs], Mon Apr 25 21:58:32 2005 UTC (19 years ago) by joris
Branch: MAIN
Changes since 1.67: +179 -115 lines
Diff to previous 1.67 (colored)



first part of file API changes:

- fix our behaviour regarding directories or files in a different
  directory than we currently are as arguments to commands, this
  allows stuff like "cvs status sys/arch/i386/Makefile" to work.

- when parsing a pathname only load the needed nodes of the path
  instead of loading *everything* in memory.

the next step in this is to merge the collection and callback
execution together.

ok jfb@, xsa@

Revision 1.67 / (download) - annotate - [select for diffs], Fri Apr 22 15:16:15 2005 UTC (19 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.66: +6 -2 lines
Diff to previous 1.66 (colored)



finish support for the '-' token in the Entry file, this allows
us to mark files as removed, and lets the remove command work
completely.

tested and ok xsa@, jfb@

Revision 1.66 / (download) - annotate - [select for diffs], Tue Apr 19 00:32:55 2005 UTC (19 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.65: +10 -2 lines
Diff to previous 1.65 (colored)



update cf_type to the correct type if we cannot stat(2) the
requested file or directory in cvs_file_lget().

should fix those "attempt to send Entry for non-regular file" errors.

reported by brad@

Revision 1.65 / (download) - annotate - [select for diffs], Mon Apr 18 22:28:41 2005 UTC (19 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.64: +6 -4 lines
Diff to previous 1.64 (colored)



only copy ce_tag is it is not NULL, fixes a segfault on
startup for the update command.

Revision 1.64 / (download) - annotate - [select for diffs], Mon Apr 18 21:24:57 2005 UTC (19 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.63: +5 -1 lines
Diff to previous 1.63 (colored)



free cf_tag for regular files in cvs_file_free();

ok jfb@

Revision 1.63 / (download) - annotate - [select for diffs], Mon Apr 18 21:10:39 2005 UTC (19 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.62: +1 -3 lines
Diff to previous 1.62 (colored)



more debugging leftovers

Revision 1.62 / (download) - annotate - [select for diffs], Mon Apr 18 21:02:50 2005 UTC (19 years, 1 month ago) by jfb
Branch: MAIN
Changes since 1.61: +96 -116 lines
Diff to previous 1.61 (colored)

Modify the CVSFILE structure using a union to keep information about
both files and directories.  We can now keep the revision number for
regular files, and don't need to fetch the appropriate entry in the
command callbacks.  This saves a huge amount of parsing on Entries
files.

ok joris@

Revision 1.61 / (download) - annotate - [select for diffs], Sat Apr 16 20:05:05 2005 UTC (19 years, 1 month ago) by xsa
Branch: MAIN
Changes since 1.60: +35 -7 lines
Diff to previous 1.60 (colored)

more snprintf return value check; joris ok

Revision 1.60 / (download) - annotate - [select for diffs], Wed Apr 13 20:11:21 2005 UTC (19 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.59: +2 -2 lines
Diff to previous 1.59 (colored)



file callbacks won't return -1 anymore, but a CVS_EX_* error

ok jfb@

Revision 1.59 / (download) - annotate - [select for diffs], Tue Mar 29 17:37:37 2005 UTC (19 years, 1 month ago) by joris
Branch: MAIN
Changes since 1.58: +5 -2 lines
Diff to previous 1.58 (colored)



cvs_file_attach() can fail, make sure we can handle it
when it does.

Revision 1.58 / (download) - annotate - [select for diffs], Sat Mar 26 08:09:54 2005 UTC (19 years, 1 month ago) by tedu
Branch: MAIN
Changes since 1.57: +2 -1 lines
Diff to previous 1.57 (colored)

fix a variety of things i found at coverity.  ok joris@

Revision 1.57 / (download) - annotate - [select for diffs], Thu Mar 24 14:35:18 2005 UTC (19 years, 1 month ago) by jfb
Branch: MAIN
Changes since 1.56: +12 -120 lines
Diff to previous 1.56 (colored)

ditch the filename hash table and use the new strtab code instead

ok joris@

Revision 1.56 / (download) - annotate - [select for diffs], Sat Mar 5 17:19:50 2005 UTC (19 years, 2 months ago) by jfb
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE, OPENBSD_3_7
Changes since 1.55: +9 -3 lines
Diff to previous 1.55 (colored)

fix file loading when recursion is disabled.  this should fix the
weird behaviour encountered when using the -l option to most
commands

ok joris@

Revision 1.55 / (download) - annotate - [select for diffs], Sat Mar 5 03:00:27 2005 UTC (19 years, 2 months ago) by jfb
Branch: MAIN
Changes since 1.54: +13 -10 lines
Diff to previous 1.54 (colored)

make sure that errors from cvs_file_lget() cascade down instead of
ignoring them

ok joris@

Revision 1.54 / (download) - annotate - [select for diffs], Wed Mar 2 16:56:58 2005 UTC (19 years, 2 months ago) by joris
Branch: MAIN
Changes since 1.53: +4 -1 lines
Diff to previous 1.53 (colored)



add a flag to identify the base directory in file hierarchies.

ok jfb@

Revision 1.53 / (download) - annotate - [select for diffs], Fri Feb 25 20:32:48 2005 UTC (19 years, 2 months ago) by jfb
Branch: MAIN
Changes since 1.52: +2 -3 lines
Diff to previous 1.52 (colored)

- switch to rcsnum_parse() where appropriate
- make rcsnum_parse() fail if it encounters an invalid character

Revision 1.52 / (download) - annotate - [select for diffs], Mon Jan 24 16:41:28 2005 UTC (19 years, 3 months ago) by jfb
Branch: MAIN
Changes since 1.51: +4 -4 lines
Diff to previous 1.51 (colored)

when loading a file's information, remove its entry from the parent
directory's entries handle even if the file doesn't exist on disk

Revision 1.51 / (download) - annotate - [select for diffs], Wed Jan 12 20:10:09 2005 UTC (19 years, 4 months ago) by jfb
Branch: MAIN
Changes since 1.50: +3 -17 lines
Diff to previous 1.50 (colored)

use basename(3) instead of mangling the path to figure out the
filename ourselves.  Removes a bunch of now useless code.

spotted by Joris Vink, diff by me

Revision 1.50 / (download) - annotate - [select for diffs], Tue Jan 11 00:01:14 2005 UTC (19 years, 4 months ago) by jfb
Branch: MAIN
Changes since 1.49: +5 -1 lines
Diff to previous 1.49 (colored)

Close the Entries file we just created upon directory creation.  This
fixes the problem where a checkout would only add entries for
directories.

from Joris Vink

Revision 1.49 / (download) - annotate - [select for diffs], Thu Jan 6 20:17:25 2005 UTC (19 years, 4 months ago) by jfb
Branch: MAIN
Changes since 1.48: +2 -1 lines
Diff to previous 1.48 (colored)

add *.core as part of the standard ignore patterns

Revision 1.48 / (download) - annotate - [select for diffs], Thu Jan 6 20:15:16 2005 UTC (19 years, 4 months ago) by jfb
Branch: MAIN
Changes since 1.47: +7 -6 lines
Diff to previous 1.47 (colored)

* always assign a cvsroot to directories, even if they are unknown
  to cvs
* only avoid recursion on unknown directories if the CF_KNOWN flag
  was specified

Revision 1.47 / (download) - annotate - [select for diffs], Mon Jan 3 22:53:06 2005 UTC (19 years, 4 months ago) by jfb
Branch: MAIN
Changes since 1.46: +32 -1 lines
Diff to previous 1.46 (colored)

when releasing a file structure, free the reference to its name so
we don't leak memory

spotted by Joris Vink, more complete diff from me

Revision 1.46 / (download) - annotate - [select for diffs], Tue Dec 28 20:00:14 2004 UTC (19 years, 4 months ago) by jfb
Branch: MAIN
Changes since 1.45: +4 -3 lines
Diff to previous 1.45 (colored)

check the return values of rcsnum_alloc() and rcsnum_aton() on
startup

diff from Joris Vink, with minor changes

Revision 1.45 / (download) - annotate - [select for diffs], Tue Dec 28 19:44:17 2004 UTC (19 years, 4 months ago) by xsa
Branch: MAIN
Changes since 1.44: +11 -1 lines
Diff to previous 1.44 (colored)

add more standard patterns to ignore; jfb ok

Revision 1.44 / (download) - annotate - [select for diffs], Tue Dec 14 21:23:44 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.43: +68 -29 lines
Diff to previous 1.43 (colored)

When loading directory entries, create file structures for files which
have been lost but have a valid entry.

Revision 1.43 / (download) - annotate - [select for diffs], Mon Dec 13 19:38:22 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

get rid of void* arithmetic to nuke another gcc warning

Revision 1.42 / (download) - annotate - [select for diffs], Wed Dec 8 19:54:11 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.41: +7 -1 lines
Diff to previous 1.41 (colored)

check the return value of a strdup() call and return an error on
failure

from Joris Vink

Revision 1.41 / (download) - annotate - [select for diffs], Wed Dec 8 19:44:28 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.40: +6 -7 lines
Diff to previous 1.40 (colored)

avoid complaining twice when we fail to load a file, and fix a gcc
warning

Revision 1.40 / (download) - annotate - [select for diffs], Tue Dec 7 18:14:04 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.39: +5 -5 lines
Diff to previous 1.39 (colored)

when loading directory info, only close the handle to the Entries file
if it is not NULL.  fixes a crash when running commands that have no
administrative files to open yet (i.e. import)

noticed by and discussed with Joris Vink

Revision 1.39 / (download) - annotate - [select for diffs], Tue Dec 7 17:10:56 2004 UTC (19 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.38: +1 -21 lines
Diff to previous 1.38 (colored)

less whitespace, more pretty.  ok jfb

Revision 1.38 / (download) - annotate - [select for diffs], Mon Dec 6 21:03:12 2004 UTC (19 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.37: +8 -15 lines
Diff to previous 1.37 (colored)

tighten vertical spacing for else; jfb ok

Revision 1.37 / (download) - annotate - [select for diffs], Mon Dec 6 07:28:15 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)

when loading the file information from the Entries file, open it in
read-only mode.  fixes a problem with running non-modifying commands
in directories with restrictive permissions.

Reported and patch tested by Peter Hessler

Revision 1.36 / (download) - annotate - [select for diffs], Fri Dec 3 20:19:54 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.35: +1 -1 lines
Diff to previous 1.35 (colored)

If the timestamp in the Entries file is larger than the file's
timestamp, consider the file to be up to date.

Revision 1.35 / (download) - annotate - [select for diffs], Thu Dec 2 06:54:15 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.34: +39 -4 lines
Diff to previous 1.34 (colored)

Add cvs_file_copy() to create a copy of a file structure.
This will be used in the commit code.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Nov 26 16:23:50 2004 UTC (19 years, 5 months ago) by jfb
Branch: MAIN
Changes since 1.33: +181 -45 lines
Diff to previous 1.33 (colored)

Rewrite the internals of the file management code so that we do not keep
a full path to each file we load, and cache file names so we can have
multiple references to a single name.  This saves a lot of memory on large
trees such as /usr/src, especially on 'Makefile', 'README' and such.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Aug 31 11:17:02 2004 UTC (19 years, 8 months ago) by joris
Branch: MAIN
Changes since 1.32: +5 -0 lines
Diff to previous 1.32 (colored)



check return value of strdup(3);
ok jfb

Revision 1.32 / (download) - annotate - [select for diffs], Fri Aug 27 15:43:15 2004 UTC (19 years, 8 months ago) by jfb
Branch: MAIN
Changes since 1.31: +1 -1 lines
Diff to previous 1.31 (colored)

Unbreak when running into files with an inode of 0

Revision 1.31 / (download) - annotate - [select for diffs], Fri Aug 27 14:00:29 2004 UTC (19 years, 8 months ago) by jfb
Branch: MAIN
Changes since 1.30: +2 -0 lines
Diff to previous 1.30 (colored)

Skip directory entries which have a file number of 0

Revision 1.30 / (download) - annotate - [select for diffs], Fri Aug 27 13:05:55 2004 UTC (19 years, 8 months ago) by jfb
Branch: MAIN
Changes since 1.29: +3 -7 lines
Diff to previous 1.29 (colored)

Do not attempt to free directory information on error cases in
cvs_file_getdir().  That information will get freed anyways by
cvs_file_free().  Fixes a double free found by Todd Fries.

Revision 1.29 / (download) - annotate - [select for diffs], Fri Aug 13 13:28:53 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.28: +0 -4 lines
Diff to previous 1.28 (colored)

More unused variables

Revision 1.28 / (download) - annotate - [select for diffs], Fri Aug 13 12:44:25 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.27: +4 -14 lines
Diff to previous 1.27 (colored)

When comparing a file's timestamp against the one found in the Entries
file, do a straight compare between the time_t's instead of generating
asctime()-style strings and doing strcmp(), and make sure that we have
a repository string if we create the directory, so the file gets
created when calling cvs_mkadmin()

Revision 1.27 / (download) - annotate - [select for diffs], Thu Aug 12 21:05:32 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.26: +2 -0 lines
Diff to previous 1.26 (colored)

If we create a directory with cvs_file_create(), keep a pointer to the
newly created Entries file in the directory data

Revision 1.26 / (download) - annotate - [select for diffs], Thu Aug 12 18:36:39 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.25: +90 -41 lines
Diff to previous 1.25 (colored)

Implement cvs_file_getspec() so we can finally deal with explicit file
arguments on the command-line, and fix a bunch of minor issues

Revision 1.25 / (download) - annotate - [select for diffs], Tue Aug 10 14:23:57 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.24: +2 -12 lines
Diff to previous 1.24 (colored)

Cleanup, and don't close the Entries file handle for a directory when we
are done loading its contents.  We will need the file for whatever changes
we bring to it

Revision 1.24 / (download) - annotate - [select for diffs], Fri Aug 6 20:12:15 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.23: +5 -2 lines
Diff to previous 1.23 (colored)

* add a flag CF_NOSYMS to avoid loading information about symbolic links
  and fix 2 calls to cvs_splitpath()
* unbreak cvs_file_find()

Revision 1.23 / (download) - annotate - [select for diffs], Fri Aug 6 14:55:56 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.22: +29 -6 lines
Diff to previous 1.22 (colored)

Handle case insensitivity for real

Revision 1.22 / (download) - annotate - [select for diffs], Fri Aug 6 14:12:56 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.21: +28 -0 lines
Diff to previous 1.21 (colored)

Add fields to keep track of the file's mode and last modification time

Revision 1.21 / (download) - annotate - [select for diffs], Fri Aug 6 12:09:25 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.20: +6 -25 lines
Diff to previous 1.20 (colored)

the CF_STAT flag is useless now, all we have to do is extract the required
information and keep it in the file structure

Revision 1.20 / (download) - annotate - [select for diffs], Tue Aug 3 04:41:19 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.19: +14 -9 lines
Diff to previous 1.19 (colored)

Fix an annoying error message on checkouts by loading administrative
information from the CVS Entries, Root and Repository files if the
CVS directory exists

Revision 1.19 / (download) - annotate - [select for diffs], Tue Aug 3 04:28:15 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.18: +2 -5 lines
Diff to previous 1.18 (colored)

cleanup

Revision 1.18 / (download) - annotate - [select for diffs], Tue Aug 3 04:27:30 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.17: +1 -0 lines
Diff to previous 1.17 (colored)

Initialize ndirs

Revision 1.17 / (download) - annotate - [select for diffs], Mon Aug 2 22:49:49 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.16: +0 -5 lines
Diff to previous 1.16 (colored)

Remove cruft and unbreak compilation

Revision 1.16 / (download) - annotate - [select for diffs], Mon Aug 2 13:54:01 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.15: +30 -11 lines
Diff to previous 1.15 (colored)

Allocate a dynamic buffer for sorting.  This way, we don't bork anymore
on directories with huge sets of files, and fix a bug while we're at it.
When sorting failed, the files that had been removed from the list didn't
get pushed back in it.

Revision 1.15 / (download) - annotate - [select for diffs], Sat Jul 31 01:13:41 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.14: +2 -20 lines
Diff to previous 1.14 (colored)

Minor fixes and remove debugging messages

Revision 1.14 / (download) - annotate - [select for diffs], Fri Jul 30 17:39:27 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.13: +133 -99 lines
Diff to previous 1.13 (colored)

Lots of cleanup, and add an internal version of cvs_file_get() so we can
link parent directories before the file info is being retrieved.  This
allows us to open most of the CVS administrative files only once

Revision 1.13 / (download) - annotate - [select for diffs], Fri Jul 30 11:50:33 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.12: +59 -4 lines
Diff to previous 1.12 (colored)

Add cvs_file_find() to find a particular file from its path within a
hierarchy

Revision 1.12 / (download) - annotate - [select for diffs], Thu Jul 29 17:51:06 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.11: +0 -2 lines
Diff to previous 1.11 (colored)

Remove debugging statements

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jul 29 17:31:23 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.10: +34 -27 lines
Diff to previous 1.10 (colored)

Loop on the call to getdirentries() until there are no more entries.
Before this, only the first entries of the directory that fit in the
buffer were loaded

Revision 1.10 / (download) - annotate - [select for diffs], Thu Jul 29 16:59:39 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.9: +23 -15 lines
Diff to previous 1.9 (colored)

* move to tail queues for file list management
* when generating the list of files for a directory, put all the
  subdirectories at the end, sorted

Revision 1.9 / (download) - annotate - [select for diffs], Thu Jul 29 15:41:57 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.8: +52 -3 lines
Diff to previous 1.8 (colored)

* when comparing timestamps, use the last modification time instead
  of the last access time.  No wonder all the files appeared as
  modified
* always show directories as up to date
* skeleton for cvs_file_getspec()

Revision 1.8 / (download) - annotate - [select for diffs], Tue Jul 27 17:15:00 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.7: +1 -1 lines
Diff to previous 1.7 (colored)

the `.#*' pattern actually still matches, include it in standard
ignore patterns

Revision 1.7 / (download) - annotate - [select for diffs], Tue Jul 27 16:56:10 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.6: +2 -0 lines
Diff to previous 1.6 (colored)

Fix directory loading with the new file structure allocation code

Revision 1.6 / (download) - annotate - [select for diffs], Tue Jul 27 12:01:58 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.5: +90 -89 lines
Diff to previous 1.5 (colored)

* create cvs_file_alloc() to keep one copy of the file allocation code
  and reuse it
* add cvs_file_create() to explicitly create a file or directory
* add cvs_mkadmin() to fill the administrative files for a CVS directory

Revision 1.5 / (download) - annotate - [select for diffs], Mon Jul 26 15:58:01 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.4: +47 -6 lines
Diff to previous 1.4 (colored)

* when loading a file, cvs_file_get() can now tell whether the file
  is up-to-date or modified
* add cvs_file_examine() to run a command on a file and its subfiles

Revision 1.4 / (download) - annotate - [select for diffs], Sun Jul 25 03:18:52 2004 UTC (19 years, 9 months ago) by jfb
Branch: MAIN
Changes since 1.3: +56 -24 lines
Diff to previous 1.3 (colored)

* cleanup the file API with regards to flag handling and
  general structure
* implement cvs_ent_close() correctly, fix some memory leaks, and add
  cvs_ent_getent() to get a single entry easily

Revision 1.3 / (download) - annotate - [select for diffs], Fri Jul 23 05:40:32 2004 UTC (19 years, 10 months ago) by jfb
Branch: MAIN
Changes since 1.2: +259 -1 lines
Diff to previous 1.2 (colored)

Revamp the file interface to make life easier

Revision 1.2 / (download) - annotate - [select for diffs], Fri Jul 16 03:08:26 2004 UTC (19 years, 10 months ago) by jfb
Branch: MAIN
Changes since 1.1: +2 -18 lines
Diff to previous 1.1 (colored)

* add prototypes for cvs_getargv() and cvs_freeargv()
* remove cvs_file_free(), cvs_freeargv() does exactly the same

Revision 1.1 / (download) - annotate - [select for diffs], Wed Jul 14 03:33:09 2004 UTC (19 years, 10 months ago) by jfb
Branch: MAIN

cvsignore support and simpler API for file access

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.