PageRenderTime 31ms CodeModel.GetById 10ms RepoModel.GetById 1ms app.codeStats 0ms

/README.md

https://github.com/josefnpat/IncogRepo
Markdown | 131 lines | 122 code | 9 blank | 0 comment | 0 complexity | 756c8d9689fd550740177940b37ac00c MD5 | raw file
  1. IncogRepo
  2. ============================================
  3. *A Personal Revision Control System for Linux*
  4. IncogRepo Is For
  5. ----------------
  6. * for people who don't want to use a big revision control system. (Git, Mercurial, SVN)
  7. * for people who have a server with ssh access.
  8. * for people who code in locked down linux environments.
  9. * for people who code solo.
  10. Notice
  11. ------
  12. This system is *not* meant for team development! It is very easy for multiple users to "overwrite" each other's data, even though it is in storage.
  13. Requirements
  14. ------------
  15. php, tar, coreutils, ssh
  16. Setup
  17. -----
  18. 1. Download `incogrepo` and put it in the same directory as where your project folders are.
  19. 2. Open `incogrepo` with your favorite editor, and edit the `User Configuration` section.
  20. 3. Start committing!
  21. Author
  22. ------
  23. Josef Patoprsty (Seppi)
  24. Technical Requirements
  25. ----------------------
  26. * PHP 5.3.5, but may work with older versions.
  27. * GNU tar 1.25, but may work with other versions.
  28. * GNU coreutils 8.5 (cp, ls, mkdir), but may work with older or other versions.
  29. * OpenSSH client 5.8 (scp), but may work with older or other versions. (May have to modify advanced config to use other clients)
  30. Operands
  31. --------
  32. * `checkin|ci <project>`
  33. Archive the project and check it in to the repository.
  34. * `checkout|co <project> [timestamp]`
  35. Check out the project, and unarchive the project to the working directory.
  36. Adding the timestamp flag will unarchive a repository with a specific timestamp. Use status to find previous project's timestamps.
  37. * `status|st <project>`
  38. See the status of the current repository.
  39. * `serverinit|si`
  40. Initializes the local and remote repository.
  41. Tutorial
  42. --------
  43. For those who learn best by example; here is a quick annotated interactive session.
  44. Configure IncogRepo.
  45. <pre>
  46. seppi@home:~/IncogRepo$ nano incogrepo
  47. </pre>
  48. Move over to the remote server and make storage space for the repository.
  49. <pre>
  50. seppi@home:~/IncogRepo$ ssh seppi@remote
  51. seppi@remote's password:
  52. Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-11-generic x86_64)
  53. seppi@remote:~$ mkdir IncogRepoStorage
  54. seppi@remote:~$ exit
  55. logout
  56. Connection to remote closed.
  57. </pre>
  58. The remote repository is initialized.
  59. <pre>
  60. seppi@home:~/IncogRepo$ ./incogrepo serverinit
  61. Initialize both local and remote repository? [y|n]:y
  62. Initializing local repository...
  63. Initializing remote repository...
  64. seppi@localhost's password:
  65. Check for new commits? [y|n]:n
  66. Skipping update.
  67. </pre>
  68. Our project, which is named `test` is checked in.
  69. <pre>
  70. seppi@home:~/IncogRepo$ ls
  71. incogrepo README test
  72. seppi@home:~/IncogRepo$ ./incogrepo checkin test/
  73. Downloading newest commits...
  74. seppi@localhost's password:
  75. Repository has 0 commits...
  76. Repository needs to download 0 commits...
  77. Archiving Project...
  78. test/
  79. test/wat.php
  80. test/README
  81. test/index.html
  82. Checking in archive...
  83. seppi@localhost's password:
  84. Check in complete...
  85. </pre>
  86. The local repository is deleted to emulate a different computer with the same configuration.
  87. <pre>
  88. seppi@home:~/IncogRepo$ rm ~/.incogrepo/ -rf
  89. </pre>
  90. The project `test` is checked out.
  91. <pre>
  92. seppi@home:~/IncogRepo$ ./incogrepo checkout test
  93. Check for new commits? [y|n]:y
  94. Downloading newest commits...
  95. seppi@localhost's password:
  96. Repository has 1 commits...
  97. /home/seppi/.incogrepo/test_1317087269.tgz does not exist...
  98. Repository needs to download 1 commits...
  99. New commits found. Download commits? [y|n]:y
  100. seppi@localhost's password:
  101. Repository updated.
  102. Unarchiving Project...
  103. test/
  104. test/wat.php
  105. test/README
  106. test/index.html
  107. Check out complete.
  108. </pre>
  109. Project `test` has been successfully checked out.
  110. <pre>
  111. seppi@home:~/IncogRepo$ ls *
  112. incogrepo README
  113. test:
  114. index.html README wat.php
  115. </pre>
  116. Status shows us that the `test` project did commit.
  117. <pre>
  118. seppi@home:~/IncogRepo$ ./incogrepo status
  119. Check for new commits? [y|n]:n
  120. Skipping update.
  121. test : Mon, 26 Sep 11 21:34:29 -0400 [1317087269]
  122. </pre>