I want to start using RSpec in an existing project that uses git for SCM, and I was planning on using git submodules to pull in known-stable releases of the rspec and rspec_on_rails plugins. The current repositories on github don''t seem to be set up to help with this at the moment though, so I''m looking for some advice. Here''re the issues, I think: * The last stable release is 1.1.3, but there''s no tag in the git repository to indicate the revision that makes that release. I think the equivalent commit is 11d7cc9d9a45c957f7a9215b41aa0b9c3d5c236b but... * The rspec.git repository for the last stable revision actually includes rspec (and rspec_on_rails) as subdirectories, so if you check them out as submodules in vendor/plugins the plugins themselves aren''t in the right place (they finish up in vendor/plugins/rspec/rspec and ?vendor/plugins/rspec/rspec_on_rails). I can see that both of these issues will disappear when the first real release from git happens, but in the meantime I feel a bit stuck. Is there a specific revision of rspec.git (and rspec_on_rails.git) that is actually pretty stable, or is master pretty stable and I could just pick any revision and find it works fine? Cheers, -Mark.
On May 9, 2008, at 6:43 AM, Mark H. Wilkinson wrote:> I want to start using RSpec in an existing project that uses git for > SCM, and I was planning on using git submodules to pull in known- > stable > releases of the rspec and rspec_on_rails plugins. The current > repositories on github don''t seem to be set up to help with this at > the > moment though, so I''m looking for some advice. Here''re the issues, I > think: > * The last stable release is 1.1.3, but there''s no tag in the git > repository to indicate the revision that makes that release. I > think the equivalent commit is > 11d7cc9d9a45c957f7a9215b41aa0b9c3d5c236b but... > * The rspec.git repository for the last stable revision actually > includes rspec (and rspec_on_rails) as subdirectories, so if > you > check them out as submodules in vendor/plugins the plugins > themselves aren''t in the right place (they finish up in > vendor/plugins/rspec/rspec > and vendor/plugins/rspec/rspec_on_rails). > > I can see that both of these issues will disappear when the first real > release from git happens, but in the meantime I feel a bit stuck. Is > there a specific revision of rspec.git (and rspec_on_rails.git) that > is > actually pretty stable, or is master pretty stable and I could just > pick > any revision and find it works fine?Unfortunately you *are* stuck for the moment. We broke up the repositories as we did because git doesn''t support partial clones (i.e. you can''t just clone one subdirectory of a repo) the way you can checkout subdirectories of a subversion repository. There''s no way for us to go back and tag the correct commit without you grabbing the full repository at that time. I can tell you that I use the current master with no issues, BUT, there have been some changes to internals that might break your monkey patches (if you have any). I don''t have time to doc them right now (part of why there has been no release), but if I were in your shoes I''d grab the latest and see what happens. It''s an inexpensive experiment. David> > > Cheers, > > -Mark. > > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users
On May 9, 2008, at 8:38 AM, David Chelimsky wrote:> On May 9, 2008, at 6:43 AM, Mark H. Wilkinson wrote: > >> I want to start using RSpec in an existing project that uses git for >> SCM, and I was planning on using git submodules to pull in known- >> stable >> releases of the rspec and rspec_on_rails plugins. The current >> repositories on github don''t seem to be set up to help with this at >> the >> moment though, so I''m looking for some advice. Here''re the issues, I >> think: >> * The last stable release is 1.1.3, but there''s no tag in the git >> repository to indicate the revision that makes that release. I >> think the equivalent commit is >> 11d7cc9d9a45c957f7a9215b41aa0b9c3d5c236b but... >> * The rspec.git repository for the last stable revision actually >> includes rspec (and rspec_on_rails) as subdirectories, so if >> you >> check them out as submodules in vendor/plugins the plugins >> themselves aren''t in the right place (they finish up in >> vendor/plugins/rspec/rspec >> and vendor/plugins/rspec/rspec_on_rails). >> >> I can see that both of these issues will disappear when the first >> real >> release from git happens, but in the meantime I feel a bit stuck. Is >> there a specific revision of rspec.git (and rspec_on_rails.git) >> that is >> actually pretty stable, or is master pretty stable and I could just >> pick >> any revision and find it works fine? > > Unfortunately you *are* stuck for the moment. We broke up the > repositories as we did because git doesn''t support partial clones > (i.e. you can''t just clone one subdirectory of a repo) the way you > can checkout subdirectories of a subversion repository. There''s no > way for us to go back and tag the correct commit without you > grabbing the full repository at that time. > > I can tell you that I use the current master with no issues, BUT, > there have been some changes to internals that might break your > monkey patches (if you have any). I don''t have time to doc them > right now (part of why there has been no release), but if I were in > your shoes I''d grab the latest and see what happens. It''s an > inexpensive experiment. > > DavidDavid, Didn''t you do git-svn import? Shouldn''t the full repository history be there? I would imagine that you could create a branch for the last stable release, and revert backwards to the revision (in svn) in which the last release was tagged. As for (git) tags - I see no way to use submodules with tags - Or am I missing something very obvious? Scott
On May 10, 2008, at 6:25 AM, Scott Taylor wrote:> On May 9, 2008, at 8:38 AM, David Chelimsky wrote: >> On May 9, 2008, at 6:43 AM, Mark H. Wilkinson wrote: >> >>> I want to start using RSpec in an existing project that uses git for >>> SCM, and I was planning on using git submodules to pull in known- >>> stable >>> releases of the rspec and rspec_on_rails plugins. The current >>> repositories on github don''t seem to be set up to help with this >>> at the >>> moment though, so I''m looking for some advice. Here''re the issues, I >>> think: >>> * The last stable release is 1.1.3, but there''s no tag in the git >>> repository to indicate the revision that makes that release. I >>> think the equivalent commit is >>> 11d7cc9d9a45c957f7a9215b41aa0b9c3d5c236b but... >>> * The rspec.git repository for the last stable revision actually >>> includes rspec (and rspec_on_rails) as subdirectories, so if >>> you >>> check them out as submodules in vendor/plugins the plugins >>> themselves aren''t in the right place (they finish up in >>> vendor/plugins/rspec/rspec >>> and vendor/plugins/rspec/rspec_on_rails). >>> >>> I can see that both of these issues will disappear when the first >>> real >>> release from git happens, but in the meantime I feel a bit stuck. Is >>> there a specific revision of rspec.git (and rspec_on_rails.git) >>> that is >>> actually pretty stable, or is master pretty stable and I could >>> just pick >>> any revision and find it works fine? >> >> Unfortunately you *are* stuck for the moment. We broke up the >> repositories as we did because git doesn''t support partial clones >> (i.e. you can''t just clone one subdirectory of a repo) the way you >> can checkout subdirectories of a subversion repository. There''s no >> way for us to go back and tag the correct commit without you >> grabbing the full repository at that time. >> >> I can tell you that I use the current master with no issues, BUT, >> there have been some changes to internals that might break your >> monkey patches (if you have any). I don''t have time to doc them >> right now (part of why there has been no release), but if I were in >> your shoes I''d grab the latest and see what happens. It''s an >> inexpensive experiment. >> >> David > > > David, > > Didn''t you do git-svn import? Shouldn''t the full repository history > be there? I would imagine that you could create a branch for the > last stable release, and revert backwards to the revision (in svn) > in which the last release was tagged.We can do that, but at that revision you get the whole repo - so it would be up to you to then copy the different subdirectories to the right places.> > > As for (git) tags - I see no way to use submodules with tags - Or am > I missing something very obvious? > > Scott > > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users