Versioning library like SQLite database library? [closed] - version-control

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I like how SQLite library can be included into an application and the application has a full-fledged database to use.
Similarly, is there an open source versioning library that I can include into my application so that I can save versions of files as well as do diffs and merges?

SVN doesn't require any prerequisites on end user machine. You can embed SVN right into you app. To learn more on subversion integration, visit "Application Integration/Embedding" thread on SVN forum.

Answering my question myself, I recently discovered hgshelve and gitshelve that is almost exactly what I was looking for.

I am not entirely sure what you mean by "included in an application", as you could potentially deliver any library so long as the licensing allows. Are you referring to the fact that sqlite is small or that it is public domain?
Mercurial is a similarly lightweight piece of revision control software. If you are writing your application in python, which is likely since python now includes sqlite3, importing features directly from mercurial's source code should not be too difficult. Otherwise there's no shame in invoking commandline processes, though this may be clunkier. Mercurial is not public domain, but it is GPL'd.
Mercurial is also my personal favorite among modern revision control systems. It's leaps ahead of CVS and Subversion, and very similar to GIT although somewhat simpler to use.

You might want to look at fossil, an scm tool written by the author of sqlite. I don't know how easy it is to embed, but it is a single file executable so it should be quite easy to run from within your application.
Arguably, running it as a seperate process might actually be better than embedding since it won't slow down your app while it does what it does.

In my opinion Firebird is one of the best choices for embedded DB scenarios.
Also Microsoft SQL Server Compact (closed source, but free) might be suitable, however it less capable than Firebird.
EDIT:
I misread you question. If you don't need RDBMS, you can try to embed SVN to your application.

Related

Which content management to choose when developing is crucial [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have been evaluating DNN over a few months. It has it´s pros and cons. I find it hard to evaluate systems by reading articles and don´t have time to check them all on my own.
What are your general feeling about this?
As my background is with .net, which system would you choose?
Also, does anybody know if these pages at stack overflow is based on a CMS and if so which?
Since everyone would rather spend more time criticizing your post than answering it, I'll give it a shot.
You have a few options with building a portal. Either go with an established, open source portal (like DNN), look into some paid solutions or build your own.
Open Source - I've worked with DNN and MojoPortal. DNN is a little slower and has a few more requirements to develop skins and modules, but it has A LOT more features and some of the free/paid modules are really cool. Overall, DNN wins here, but if you don't need a large portal and you want to keep development really simple, MojoPortal might be better. MojoPortal has a few nice features that makes it easier to configure.
Open Source (Other) - There are tons of them out there. Orchard is one I'm thinking of because I'm interested in MVC. But, it's still young in terms of features and support.
Umbraco - I can't really speak to this because I have not used it, but it does have some popularity.
Build it - This is an option and allows the most flexibility, but it takes a lot of time and so many features that are built into these portals could be left out. Role based access, page management, page/module permissions, downloadable modules, profile/profile properties, file management, skinning, acct management, menu management, event logs, etc
I left out non .NET solutions like ones based on PHP, Grails, etc because you are a .NET developer. There is plenty out there, but sticking to .NET will help speed your development up.... unless you are just wanting to learn something new.
Hope this helps.

Can GitHub be used for writing a collaborative article? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I am contemplating writing a useful article in a field of my interest. There are many others (about 10-15) people interested in peer reviewing and collaborating on the same. I am not a prolific programmer, but I understand how GitHub works for version control.
Can I use it for writing a 4-5 page collaborative article (version control is very important part) or do you think a better alternative exists?
You certainly could, but I don't know if it's the best choice. A couple of questions come to mind. Is this a text-based document format or are you planning on doing your writing in something like MS Word? If the former then I think it could work well. If the latter I would say it may be less effective.
What about your other collaborators? Are they savvy enough to use a DVCS? That would have some influence as well. I don't know how strongly you need the document versioned, but I could see using git as overkill.
I've found that using Google Docs works well and has a revision history, although it's obviously not as robust as would be found in a VCS.
I think it would work great. The Ruby on Rails guides are on a publicly write/readable repository at GitHub, for instance. You get get Git things for free (branches, blame, general version control features), plus you'll have a reliable backup and publishing mechanism if you like.
Given that the contributers are computer literate enough to successfully use Git, that is.
If you write it in Markdown, you can throw inline HTML into it (just by itself like you can do on Stack Overflow). Easy to write, easy to style, etc.
You can, but on the other hand:
Most wikis allow rich-content pages easyly, are ready for collaborative editing and have versioning and version-management embedded in the core.
One promissing recent development is penflip (https://www.penflip.com/) which was created with the idea of being a "github for text".
Check this article to learn about the author's ideas http://madebyloren.com/github-for-writers
Consider using google docs. They have some kind of version control. And it is much more suitable for this kind of work.

Simple web-based version control [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I need a simple, web-based version control tool. 'Version Control' probably implies a lot of functionality I don't need such as diff and merge.
Basically, I have a lot of non-programmer types working on binary files (think Photoshop PSDs), and I would just like a way to check them out and in, and keep previous versions.
Web-based would be ideal, I just want something better than nested folders on a shared drive.
Suggestions?
You could try asvcs: it's web-based and very simple. My advice would be to try one of the known solutions (svn, git, mercurial, even bazaar) and use only the features you need.
Dropbox provides a web interface and can be used as a simple version control system.
Try building something around git. (Or maybe set up a private github account.)
Springloops has what you're looking for. However, it's a paid service. Integrates nicely with Basecamp
You could also use Dropbox. There's version control of sorts. But history is kept only for 1 month.
And there's github
I know through experience that Atlassian's Confluence wiki solution will do versioning for binary uploads. I'm sure there are probably other open source alternatives available as well.

Choosing a Mercurial hosting [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm looking for a Mercurial hosting which is free. (I'm only a student right now.) And it seems like it boils down to Bitbucket or Project Hosting on Google Code. (Other suggestions are welcome.)
So, how do these services compare in terms of features and service?
Update: Kiln is also a strong contender (I use it myself) and I thought I felt I should mention the name in the question. In terms of features, the strong integration with something strong as FogBugz could be a major plus.
Your choice basically comes down to whether you want it to be private or not.
If you want it open to the world you can't go wrong with either.
However, if you want it to be private you should go with bitbucket. Even then you are limited to 2 users in a free private repo.
My guess is you want it to be private and free (since you're a student) so your only other option there is to host it yourself. This would be a great option if you can pull it off. Remember, you don't need to have it hosted on a server to share and merge, there are plenty of commands for sharing patch sets through email.
Kiln http://www.fogcreek.com/Kiln/StudentAndStartup.html is another option you can get for free since you are student. Run by Joel Spolsky's company I believe.
JavaForge is another option to consider if you are looking for free Mercurial hosting. You can have private projects and it has all the features mentioned before. Even better, it supports Git, SVN and CVS (even mixing them within the same project) if you want to freely experiment with (D)VCS.

Examples of how to visualize a versioning system? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
My shop is trying to formalize the release management process for an OSS product we maintain (edit: using SVN for version control). It's a sort of a web development framework/CMS kind of thing, as in it's a product that other projects are built on top of. This makes clear communication about the versioning system especially critical for developers that are using the tool.
I'm hoping to find some examples of how best to graph this system so we can communicate it better internally and with outside developers. I know there are lots of standards and best practices around versioning, so I'm hoping this extends to some sort of visual vocabulary as well. As one example, there is a nifty graph at http://en.wikipedia.org/wiki/Versioning#Software_Versioning_schemes. Are there any guides out there on how these sorts of things should be designed?
First, if it is an OSS project, chances are the versioning system ism a Distributed one (DVCS)
If so, then this branching model can be of interest.
The idea is to control what you want to integrate from remote repos.
alt text http://nvie.com/wp-content/uploads/2009/12/Screen-shot-2009-12-24-at-11.32.03.png
I need this too. The built-in graph in Tortoise SVN is too busy, but I've made use of it. But for soemthing like VonC's picture above, I think I'm going to go with a dry erase board and colored markers. I'll hang it outside my cube. Annotate it with revs, dates, sprints and projects, and we'll be all set.