1.Content and file Mangement(wikis)
主要讨论文件管理和版本控制,以cvs,svn和git为主,wikis的文件管理模式为补充
2.版本控制要解决的问题:
- Access control
- concurrent access
- update conflict
- error handling
- remote editing
- versioning
- recovery of old version
- time-dependent publication
3. Revision control systems
software for management and monitoring document and software revision. Primarily concerned with recovery of former revisions,storing,versioning and locking of project files or directorIEs.
修复管理系统负责管理文档和软件的修订。主要关注于恢复历史版本,保存,版本控制以及对项目文件和文档的访问控制。主要有CVS,SVN,Git为版本
4. CategorIEs of Revision Control Systems
- Local Version Control
- Centralized Version Control Systems
- Decentralized Version Control Systems
首先就结构上而言,local version control顾名思义就是local version database,Centralized version control systems就是有个central version database server 提供中心化的版本控制,参与者只能导出version; decentralized version control systems 就是去中心化的版本控制,提供版本交换。
5. CVS(concurrent versions system)
- 结构上CVS是中心化的版本控制,centralized version control.
- component:
- repository (仓库):
- central storage for all raw files which are under RC
(首先中心仓库管理所有raw files )
- each raw file is converted to a history file(*,v) that contains recovery information and the concurrent revision
(所有raw files 被转换成历史版本,携带了历史恢复信息和当前版本)
- ProvIDes a "CVSROOT" directory containing additional Meta-information
(提供了CVSROOT包含了Meta-information)
- SandBox(沙箱):
- a working directory containing specific checked-out revisions
(一个工作目录包含特别的检出版本)
- a sandBox is created by the "cvs checkout" command,thereby specific revisions of raw files are created with the help of the history files
(工作目录是由checkout命令,因此特定的检出文件在历史文件下被创造)
- every directory in a CVS-SandBox has a "CVS" directory,which contains management files provIDing e.g. information about current revision number or checked-out time
(每个文件夹在工作目录下都有一个cvs文件夹,包含了管理文件提供了当前修订版本,检出时间)
- selected mechanism
- versioning(分配版本号当有改动,历史文档的存在可以有利于客户端检出各种版本,入和出)
- Allocation of revision numbers for every modification of a source file which is registered in the repository by the "cvs commit" command
- due to the history information containing in history files all revisions are available and accessible,thereby clIEnts can load varIoUs revisions from the repository(via "cvs checkout" or "cvs export" methods - same effect like checkout but no mangament files are created)
- merging (冲突出现需要手动处理)
- is a mechanism for joining two different revisions of the same file(if the same line are edited a conflict occurs that has to be solved by the developers manually)
- The "cvs update" proofs whether new revisions exist in the repository and,if this is the case,trIEs to merge these different revisions.
- tagging
- provIDes a possiblity for creating a kind of symbolic linkage of varIoUs files and their revisions
- it is necessary to create a tag(e.g. release_1_0) on a particular revision of a file
- it is possible to checkout concrete tagged revisions annotated(注解)by these meaningful Tags
- each tag is unique within a history file
- locking
- cvs provIDes a way to set an explicit commit lock on a revision and while the commit lock is active other users are not able to commit a revision of the particular file
- branching
- cvs tag -b branch1
- cvs update -j (merge branch and master)
- central shortcomings:
- not support directory versioning,
- commit is not atomic: is run for every file separately and when there is conflict regarding one file,other files are commited besIDe the file contianing the conflict, so inconsistent repository state
- No self-defined propertIEs(Metadata information)
- management of Tags and branches is difficult and resource intensive
- no efficIEnt storing of binary files
5. SVN subversion system
to solve shortcomings of cvs
- Tags and branches
- realised by copying the revisions to an extra folder
- the "svn copy" method does not copy the files physically to a folder- reference to the original data is created
- files and dictorIEs can be copIEd
- if a copy is modifIEd,only the differences are stored.
6. Git
- decentralized version control system
- optimized for nonlinear development and branching
- Typical variants of version control systems realise versions by tracking changes to an original version of each file
- create with every commit a new snapshot of the versioned files: and use SHA! hash of concatenated hashes of versioned files are used as IDentifIErs
- link to prevIoUs file,if files are not changed,a link to prevIoUs file is stored
- Branching
- a branch in git is a reference to a snapshot
- every branch has a name. The main branch is named "master". One brach is always the active one = marked by the head reference
-git branch BUGfix
- git checkout BUGfix(BUGfix is activated)
- git commit (commit changes to active branch)
-merging
- merging is done into the active branch:
- git checkout master
- git commit
- git merge BUGfix (merge BUGfix into active branch)
- remote branches
contains remote canonical project repository
- git clone [email protected]/repo.git
local repository,two branching
- origin/master and the master branch are pointing to the origin‘s master branch
- git fetch
changes done by others in the remote repository can be transferred to the local repository via the Git command "fetch"
- distributed workflows
- git enables distributed software development workflows with several hIErarchical levels
7. Content
- content basically consists out of three components:
- structure information
- defines the composition,sequence and encapsulation of raw data
- data raw
- composed according to the structure
- layout information
- formal specification for presentation on a potential output medium
- content lifecycle - CMS functionalitIEs
- creation(authoring,authentication,check-in/check-out,WYSIWYG,multi-user ability)
- Organissation(user management,workflow/quality protection,page integrity/link management,log functionality)
- publishing(presentation,personalisartion,multi-channel-output,portal function)
- archiving(retrIEval,backup/rollback,version management)
- content phase: deals with collection,creation and editing or the content
- organisation phase: deal with quality check and clearing of the content for publication
- publication phase: deals with publication of the content in intra- or internet
- archiving phase: after removing the content from the network,content can be stored in the content repository for documentation purpose or future usage
-example for a wIDespread CMS: TYPO3
- for configuration of TYPO3 TypoScript is used
- TypoScript is a declarative language
- conversion of typoscript into HTML by PHP logic
- area of application:
- designing+integration of templates(front-end = publish web site)
-pure ts-template
- HTML-template +TS
- configuration of the back-end(administration + content mangement area)
- user/user group propertIEs(User TSConfig)
- page propertIEs(page TSConfig)
- separation of structure,layout and raw data
- PAGE object builds a framework for embedding further content
- content object array is created and put to position 20 of the page
- COA is wrapped into HTML table row elements
- Abbreviatory Syntax for assigning values to positions
- After creating an image object a file is associated with it
8. Wikis
- software systems that allow users to easily generated,interconnect,edit pages and that can be used to create collaborative web site
- support basic features of CMS
- separation of structure,layout and raw data
- integrated editing functionality
- version management,history mechanism,retrIEval of former versions
- provIDe often special wiki Syntax for formatting purposes and link creation
- can be used as a means for group communication
- varIoUs wiki engines available
- semantic wikis
- enable enCoding of semantic data within regular wiki pages
- provIDe possiblitIEs to annotate pages with meaningful relations to other pages and with attributes
- data can be used for semantic search (inline querying tools are available)
- provIDe RDF export functionality
"subject"+"predicate"+"object"
总结以上是内存溢出为你收集整理的2019ss-DSE-Web-Version Control全部内容,希望文章能够帮你解决2019ss-DSE-Web-Version Control所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)