c# - SQL based storage vs SVN -


my team developing new application (c#, .net 4) involves repository shared users content. need decide store it. requirements follows:

  1. share files among users.
  2. support versions.
  3. enable search tags , support further queries such "all files created people group x"
  4. different views different people (team x sees own content , nobody else can see theirs).

i'm not sure what's best, so:

  • can search on svn using tags (not svn tags of course, more stackoverflow's tags)?
  • is there sense in thinking of duplication - both svn , sql - content?
  • any other suggestions?

edit
application enables users write validation tests later execute. tests shared among many groups on different sites. need versioning regular reasons - undo changes, sudden deletions etc. calls svn.
thing is, want add option find tests tagged "urgent" , executed now, tracking purposes.

i hope made myself more clear :)

edit ii
ran svnquery , looks good, have api can use? i'd rather use mechanism own gui.

edit iii
colleague supports using database , forget file based storage. claims better persistence (which needed - test more list of commands execute). i'd appreciate inputs on issue, think should possible way or other.

thanks!

you use svn.

  1. shared files: obvious , easy. supports centralised locking might need binary files.
  2. versions. obviously.
  3. search... we're getting difficult territory. there lucene addon allows web searching of repo - opengrok, svnquery or svn-search. these best starting points that.
  4. there no way stop people seeing what's present in svn repo, can stop them accessing it. don't know if access control extended provide hidden folders, ask svn developers.

there's great apis working svn, accessible sharpsvn gives .net assembly, there's python , c , sorts available.

as mentioned, there web tools sit on top of svn provide view it, there's trac, , redmine , several repo-viewers websvn, there's plenty of sample code use cook own.


would use dvcs git or mercurial? woulnd't. though these have mechanisms in themselves, doesn't sound they're tyou're after. these allow people work on own , share others on peer-to-peer basis (though can set 'central' repo , work everyone's peer). not work in centralised, shared way. example, if , both edit test case locally andthen push central repo, might have issues merging. have issues merging if file binary or otherwise non-mergable file. in case have problem losing 1 person's changes. that's one, main reason not using dvcs in case.


if you're trying shared tests together, have looked @ apps this. noticed testrail sounds you're trying do. it's not free (alas) it's cheap.


Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -