I have repository https://example.com/myrepo
And i can simply do:
svn co https://example.com/myrepo/some/directory/
And i can work with that subdirectory as if it was actual repo. Completely transparently.
This i really miss in git.
I have repository https://example.com/myrepo
And i can simply do:
svn co https://example.com/myrepo/some/directory/
And i can work with that subdirectory as if it was actual repo. Completely transparently.
This i really miss in git.
The tests are a trickier problem, in theory you could lock version numbers (the new behavior increments to the new tests) but tests have bugs, and this doesn’t solve two people making behavioral changes at the same time.
Short of merging the tests into the respective projects, going full feature toggle for all breaking changes is the only other lever that comes to mind.
If your form html is reasonably semantically structured, and/or you give meaningful IDs to each interactive element, then your tests can be made somewhat robust against content changes. E.g. "click button #next-step" rather than "click the word Next".
If your frontend is a desktop or mobile app, look for ways to introspect the widget hierarchy to do the same thing (I know this is possible in e.g. Swing).
$ git clone --depth=1 <url>
$ cd repo
$ git fetch --unshallow &
$ <do work>