Pin/Rollback from Command-Line Client

If you are having a problem using Fortress, post a message here.

Moderator: SourceGear

Post Reply
Nihimon
Posts: 68
Joined: Wed Sep 12, 2007 1:23 pm

Pin/Rollback from Command-Line Client

Post by Nihimon » Thu May 21, 2009 12:50 pm

We're trying to automate a Deploy/Abort process using Pin and Rollback but the Command-Line Client doesn't seem to support Rollback. Are there plans to add this feature? Or have I simply over-looked it?

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Re: Pin/Rollback from Command-Line Client

Post by Beth » Fri May 22, 2009 9:15 am

We currently don't have a rollback command in the command-line client. I have a feature request open for that functionality that I can add your "vote" to if you would like.

F; 14330
Beth Kieler
SourceGear Technical Support

Nihimon
Posts: 68
Joined: Wed Sep 12, 2007 1:23 pm

Re: Pin/Rollback from Command-Line Client

Post by Nihimon » Fri May 22, 2009 9:19 am

Please! :)

We are trying to keep a "Base" folder structure in Fortress that matches our deployed scripts/programs. We share from this Base to our Dev folder structure, keeping the base Pinned to what's been deployed.

When we Deploy what we've worked on in Dev, we want to be able to automatically add or re-Pin the files we've been working on.

Likewise, if we Abort a project, we'd like to be able to automatically Rollback any changes we've checked in that didn't get deployed.

AjarnMark
Posts: 60
Joined: Mon Oct 29, 2007 4:22 pm
Location: Seattle, WA

Re: Pin/Rollback from Command-Line Client

Post by AjarnMark » Fri May 22, 2009 10:49 am

While waiting for the new feature, couldn't you accomplish your goal through branching and merging?

Just thought I'd throw out the idea for consideration. The way we do it is that in our project folder, we have a TRUNK and a BRANCHES folder. TRUNK is where we do active development. At the point that we we are making a cut to deploy (in our case, we do this on our first release to the QA group) we create a branch from TRUNK into a new folder underneath BRANCHES. Any fixes that come back are handled in the branch and then, upon release to PROD, merged back into TRUNK. The branch then represents the PROD version. We also apply a label at the top of the branch whenever we do a cut (such as a PROD Hot-fix) so that we can always get back to the PROD GOLD version by doing a GET from the label if there was other hot-fix work being done. Meanwhile, development work on the next version can proceed in TRUNK. With this setup, we have not had a need for PIN (although one may exist we just haven't run into) and we only use Rollback sparingly for the "OOPS that change was completely bogus and should be eliminated as if it never happened" on the occasional single file. We also apply labels in TRUNK on each branch/merge operation, so if you really wanted to abort an entire set of work, you could.

Side note: We previously had this inverted and tried to keep one folder (TRUNK) to always be the PROD release and merge things into it as we went, but this led to some merging nightmares at one point, and with counsel from SourceGear, we flipped our process around to the above.

Nihimon
Posts: 68
Joined: Wed Sep 12, 2007 1:23 pm

Re: Pin/Rollback from Command-Line Client

Post by Nihimon » Fri May 22, 2009 12:46 pm

I've read everything I could find on this, and I understand your setup, but I'm not really sure it would work well in our situation.

What you describe would work well where you have well-defined, persistent units of deployment, such as Visual Studio Solutions (or even Projects). However, we have a large body of database scripts (stored procedures, views, etc.) that can't really be combined into a single unit of deployment that doesn't change over time.

Imagine we have projects Alpha (view1, view2, sp1, sp2) and Beta (view3, view4, sp3, sp4) deployed. Now I need to make a change to view1 and sp3. Meanwhile, my colleague is making a change to sp1 and sp2. I need a way to deploy *only* the files I'm modifying.

If I used the method you describe above, and then went looking for the "Production" version of sp4, I'd have to check through a lot of different Branches looking for it.

In short, the method described above works great for well-defined Projects that don't really overlap, but that's not our situation at all.

However, if you have any other sources of information on best practices with this stuff, I'm all ears :)

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Re: Pin/Rollback from Command-Line Client

Post by Beth » Fri May 22, 2009 2:17 pm

I have other customers using the share-pin method of deployment for their particular scenarios. Without looking closer, I couldn't say if that's the best way to do it here or not. The one benefit you would obtain is that after merging, you only have one big changeset that needs to be rolled back, and for some that's a bit easier to deal with.

Going in the same vein as you already are though, I have a work-around kind of rollback that may work well for you. If you would like instructions, send an email to support at sourcegear.com (attn: Beth) with a link to this forum thread and let me know.

(Email received)
(H: 216104)
Beth Kieler
SourceGear Technical Support

Nihimon
Posts: 68
Joined: Wed Sep 12, 2007 1:23 pm

Re: Pin/Rollback from Command-Line Client

Post by Nihimon » Thu May 28, 2009 1:15 pm

Thanks for the suggestions but I'd still like to encourage you to implement Rollback in the CLC.

As I tried to explain above, we don't really have a convenient way to deal with Folders. Rather, we almost always are dealing with an arbitrary group of individual files that may or may not have been grouped together before. As such, Merge is just not possible.

While it's possible for us to do the Check-Out, Get to a different location, copy over and Check-In, it would be a lot more convenient if we could just Pin or Rollback to the appropriate version for each file in our deployment.

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Re: Pin/Rollback from Command-Line Client

Post by Beth » Thu May 28, 2009 1:18 pm

I understand and still have the feature request. Even though I've presented a work-around, I won't remove the feature request. It was just a suggestion so that you can continue forward instead of holding your work up for the feature.
Beth Kieler
SourceGear Technical Support

Post Reply