Modify

Ticket #655 (closed enhancement: fixed)

Opened 11 years ago

Last modified 11 years ago

Add support for Fossil SCM distributed version control system

Reported by: dclark Owned by: dclark
Priority: minor Milestone: Bcfg2 1.0.0 Release
Component: bcfg2-server Version: 1.0
Keywords: fossil scm dvcs Cc:

Description

(just opening a ticket for myself to track progress on this)

  • djbclark | desai: Is the abstracted VCS stuff in the current 1.0rc2? I may have a go at writting support for Fossil SCM sometime soonish (context: http://code.autonomo.us )
  • desai | yeah, it is
  • desai | there is a discrete plugin type that handles them now
  • desai | see src/lib/Server/Plugins/{SVN,Git}.py for examples

Also wiki:Plugins/Git? , wiki:Plugins/Svn?

Attachments

Change History

comment:1 Changed 11 years ago by dclark

  • Status changed from new to assigned

comment:2 Changed 11 years ago by dclark

  • Status changed from assigned to accepted
  • Version set to 1.0

This looks *really* easy on the bcfg2 side. Waiting for answer to query regarding "fossil info" / getting version information on checked-out files from the fossil-users list:

comment:3 Changed 11 years ago by dclark

Mailing list thread now has a bunch of responses. I think the most efficient way of doing this, while covering all cases, is going to be:

  1. At start, run "fossil extra", which will give a list of files not checked in, like:
    doc/notinrepo.txt
    notinrepo2.txt
    

And put into python data structure.

  1. At start, run "fossil changes", which will give a list of checked in but changed files, like:
    EDITED   card/casper-rw/MEMBERCARD-README.sh
    EDITED   doc/fsf-membercard.leo
    

And put into python data structure.

  1. On each file, run "fossil test-sha1sum fqfn", which will give sha1sum of any file, no matter repo status, like:
    $ fossil test-sha1sum rms-copyright_versus_community_in_the_age_of_computer_networks.spx
    0c9d3cd1e59871f52c7eb4fff0ea573943423771  rms-copyright_versus_community_in_the_age_of_computer_networks.spx
    
  1. If file name is not in either of the data structures, just return the sha1sum value.
  1. If file name is in extra, return sha1sum with prefix "EXTRA-"
  1. If file name is in changes, return sha1sum with prefix of first piece of text, such as "EDITED-"

comment:4 Changed 11 years ago by dclark

Turns out this was even easier than I was thinking - Bcfg2 just gets the version for the entire checkout, not per-file versions; I guess it's the sys admin's job to make sure edits/additions are never made to the repository being used :-)

Initial version committed in r5457 - testing tomorrow night...

comment:5 Changed 11 years ago by dclark

Need to doc to page linked to from https://trac.mcs.anl.gov/projects/bcfg2/wiki/Plugins after testing.

comment:6 Changed 11 years ago by dclark

  • Status changed from accepted to closed
  • Resolution set to fixed
  • Milestone set to Bcfg2 1.0 Release

I think this is working and doc'ed in version control in r5462 and later. Also updated wiki.

WARNING! You need to establish a session before you can create or edit tickets. Otherwise the ticket will get treated as spam.

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.