Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7534377
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T05:59:49+00:00 2026-05-30T05:59:49+00:00

I am trying to synchronize a workflow where some actions take place across a

  • 0

I am trying to synchronize a workflow where some actions take place across a couple of systems. One of those systems is Subversion, using SharpSvn, another is SqlServer and yet others are systems that support distributed transactions.

Is there a way that I can include the SharpSvn / Subversion within the workflow and enroll it within a transaction such that it could rollback in case of a failure?

In particular, I am thinking Add, Delete which are local transactions affecting the local file system and Update, Revert, Checkout which are all transactions invoked against subversion.

I have not found anything in the subversion red-book about transactions.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T05:59:51+00:00Added an answer on May 30, 2026 at 5:59 am

    Subversion itself doesn’t have any notion of “transactions”, per se. Subversion commands that modify the remote repository are atomic and many that alter the working copy are easily reversible, so there’s typically not a need for a “transaction” in the typical sense. If your application needs transactions, you should be able to put together a custom framework to support this (I don’t know of any pre-built solutions).

    The problem you’ll run into will likely be aborting a transaction. If the transaction’s “prepare” command commits the incoming change, there’s no easy way to “undo” the commit that already happened. You can issue a second commit that simply reverts the original change (such as a reverse merge), but doing this will add two new revisions to the repository (HEAD looks the same before and after the failed transaction, but it isn’t truly unmodified since there is now an intermediate revision). You can use svnadmin commands to dump the repository and filter out the revision that you want to roll back, but this is risky and can easily lead to problems. Subversion is designed so that it doesn’t lose history, so removing something from the repository history is necessarily difficult (other revision control systems, like git, make this much easier).

    One way around this might be to use a git repository as a staging area for incoming commits. When the transaction’s “prepare” command is sent, the incoming change is commited into the git repo. If the “abort” command is sent, the commit is removed from the git repo via git reset. The “commit” command would tell git (via git-svn) to push the commit to the Subversion repo. This way, the Subversion repository isn’t modified unless the transaction is committed, but the server still has the data cached in a way that’s easy to work with.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am trying to delete some child rows using a filtered query without result:
I'm trying to implement this simple example of how to synchronize threads using pthread
I am trying to synchronize two thread (working on the same C++ map) using
I'm trying to synchronize the timezone between a PHP script and some JavaScript code.
I am trying to synchronize the horizontal scroll position of 2 WPF DataGrid controls.
Trying to setup an SSH server on Windows Server 2003. What are some good
Trying to find some simple SQL Server PIVOT examples. Most of the examples that
Trying to do this sort of thing... WHERE username LIKE '%$str%' ...but using bound
I am trying to synchronize the scrolling of two TDBGrid components in a VCL
I am trying to create an automatic process which will synchronize the databases of

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.