Re: [fossil-users] Preferred way of dealing with upstream projects maintained in different VCSes?

2016-06-16 Thread Joerg Sonnenberger
On Wed, Jun 15, 2016 at 09:02:54PM -0500, lvh wrote:
> I’m interested in exploring the possibilities of moving to a Fossil
> monorepo at $dayjob. One of the things I’m not sure how to deal with
> appropriately is dealing with projects managed upstream in some other
> VCS (which, de facto, appears to be just git).

The primary question is whether you want to apply local changes and how
often you want to update. If there is any chance for the former, it is
often a good idea to follow the vendor branch approach from CVS to a
degree. That is, create a branch from the initial (empty) revision with
the unmodified upstream state. Merge the new branch head into your
normal development branch (e.g. trunk) and adjust as necessary. For
updaptes, go back to the vendor branch, commit the new version and merge
it again to your development branch.

Joerg
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Preferred way of dealing with upstream projects maintained in different VCSes?

2016-06-16 Thread Marko Käning
On 16 Jun 2016, at 04:02 , lvh <_...@lvh.io> wrote:
> I’m interested in exploring the possibilities of moving to a Fossil monorepo 
> at $dayjob. One of the things I’m not sure how to deal with appropriately is 
> dealing with projects managed upstream in some other VCS (which, de facto, 
> appears to be just git). For example, I’m currently working on Azure 
> (Microsoft’s cloud) using REST APIs, defined by a bunch of Swagger files 
> (https://github.com/Azure/azure-rest-api-specs).
> 
> These are important to the software we’re building, so they ought to live in 
> VCS, or at least a reference to them should. How do you manage this? Just put 
> the .git dir in version control? Bare checkout? Something that references the 
> repo + commit but keeping the actual checkout out of source control?

I usually simply copy the git clone into the fossil repo.
The .git dir is not checked into the fossil repo, instead I commit the whole 
folder into fossil as well.
From then on one can keep the same folder structure synced in git as well as 
fossil.
Can become messy if you’re not attentive, but works. Cross referencing the 
commit hashes in commit messages of the DVCS counterparts makes sense too. ;-)

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Preferred way of dealing with upstream projects maintained in different VCSes?

2016-06-16 Thread Ron W
On Wed, Jun 15, 2016 at 10:02 PM, lvh <_...@lvh.io> wrote:

>
> These are important to the software we’re building, so they ought to live
> in VCS, or at least a reference to them should. How do you manage this?
> Just put the .git dir in version control? Bare checkout? Something that
> references the repo + commit but keeping the actual checkout out of source
> control?
>

The .git dir is the local copy of the git repository, so that could be a
huge thing to keep in another VCS - Fossil or other.

If you are only "reading" the upstream projects, you could export the git
repo and import it to Fossil. Once done the first time, you should be able
to do it incrementally. Other VCSs can be exported to Fossil. Fossil
recently acquired support for importing from SVN. Other VCSs would require
exporting to either git or SVN export format, then importing to Fossil.

Would be simpler to just fetch tar/zip files of the other projects as
needed. Then you could either untar/unzip those and commit in to Fossil
locally, or just reference in your makefile (or whatever your build system
uses) by defining a "pointer" to where the files were untared/unzipped.

To make contributions to the upstream projects, you could send patch files.
But many projects - especially those on github - expect pull requests, so
you'd need to have local copies of the repos.

When I make contributions to git based projects, I update my local copy of
the repo, update my Fossil repo of the project and manage my changes with
Fossil. When I'm ready to submit my changes, I update my local git repo,
merge any upstream changes to my changes and commit to my local git repo
(and to Fossil). Then, if applicable, push to my github "fork". Then,send
out the pull request.
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users