Stirring up CodeGuard development efforts

Development Forum for the CodeGuard source management system.
Post Reply
jerome
Site Admin
Posts: 608
Joined: Sat Jan 16, 2010 11:16 pm

Stirring up CodeGuard development efforts

Post by jerome »

Hey guys,

CodeGuard is our in house source control system.
It's a tiny gem full of potential which me and redj both love.

It has proven to be a pleasure to work with over more than 5 years, although it is lacking much in functionality. Some things to work on are access control and updates/conflicts detections.

It'd be nice if people want to contribute to the project! Please let me know. Redj has done some work already that needs to be integrated, I think it relates to access control and logging commits in an IRC channel.

Here's my current todo list for CodeGuard, and also check on Mantis for issues (where these should probably be moved to):
-------------------------------------------------

[ ] When committing a file, have a serialID or something to ensure the file being committed matches the entry on the repository
(e.g. Mix up with 2 repositories, bad .codeguard dir)

[ ] Checkin Details
[ ] Commit: Keep original file time, have an optional Commit Time (otherwise current time)
Extract files as original file time, Search/Extract with Commit Time
Optional search with original file time?
[ ] Implement a way to retrieve by date commited
[ ] Implement a way to list checkins
[ ] Each checkin has a checkin ID
[ ] Each revision gets a reference to its checkin ID
[ ] Each checkin contains: timestamp, comment, module touched, entries checked in with revisions
[ ] Checkin Everything

[ ] Update
[ ] Commit: check if versions were checked in since version we're updating from
[ ] Flag to specify we want to checkin conflicts under a new revision
[ ] Flag to specify we want to create a new branch just for this file
[ ] Update

[ ] Implement releases(named revisions : tags) and branches
[ ] Retrieve by tags or branches as well
[ ] Update, Export ...
[ ] branch
[ ] Creates a branch on repository (GUI would switch to that default branch)
[ ] All files have this branch associated (if it already exists it gets replaced)
[ ] Branch uses current versions of stuff in work area
[ ] Branch is associated to directory where executed/down, and replaces any branch if branch is already associated with different versions
[ ] commit -b specify branch under what to checkin

[ ] View Repository Commands
[ ] history (Option -r to look for file in repository (Find Entry), otherwise get entry from work area
[ ] list Lists content of directory in repository (-v specifies revision)

[ ] diff
[ ] Before doing the merge, do a diff3, with original versions where 2 files to compare are related
[ ] merging 2 files in a same branch (e.g. diffing 4 and working versions (to become 5) both originating from 3)
[ ] merging a branch with its parent branch
diff file.c (Diff file.c in work area with latest repository revision)
diff -v 1.1 file.c (Diff file.c in work area with revision 1.1 in repository)
diff -v 1.1 -v 1.2 file.c (Diff file.c (Get entry from work area) revision 1.1 in repository with file.c revision 1.2)
diff -r -v 1.1 -v 1.2 module/src/file.c (Diff file.c (Get entry from repository) revision 1.1 in repository with file.c revision 1.2)
diff -e C:\Program Files\Araxis\Araxis Merge v6.5\merge file.c (Diff file.c in work area with latest repository revision with Araxis Merge)
diff <directory> Shows removed and added files

[ ] Merge
[ ] If parent branch is specified with a commit, do the merge

[ ] Client/Server
[ ] Compress
[ ] Send diffs only: for Update... (figure out series of patches to apply to unmodified entry)
[ ] Implement users & passwords (per file users)
[ ] Modularize the code to keep direct file clients ???
[ ] Implement locks

[ ] Have a basic GUI working
[ ] Graphically represent the state of the work area
[ ] Graphically represent the content of the repository
(Named branches & revisions, object history)
[ ] Add entry from query results

[ ] Integrate in ECERE IDE


[ ] Error messages after moving root folders into subfolders:
C:\root>codeguard move -d projects NoteTree
Moved NoteTree in C:\root to C:\root\projects

C:\root>codeguard move -d projects Alphix
Moved Alphix in C:\root to C:\root\projects

C:\root>codeguard move -d projects Med
Moved Med in C:\root to C:\root\projects

C:\root>codeguard commit
Directory C:\root\Alphix is not a valid CodeGuard work area
Added revision 5 to directory C:\root\projects
Directory C:\root\NoteTree is not a valid CodeGuard work area
Directory C:\root\Med is not a valid CodeGuard work area
Added revision 43 to directory C:\root
jerome
Site Admin
Posts: 608
Joined: Sat Jan 16, 2010 11:16 pm

Re: Stirring up CodeGuard development efforts

Post by jerome »

Rest in Peace CodeGuard :) You served us well.

Git rocks!

Perhaps one day we will toy with CodeGuard again :)
Post Reply