Esempio n. 1
0
def sources_commit(request, project_id = None, commit = None):
	project = Project.objects.get(pk=project_id)
	client = GitClient()
	gitpath = settings.FORJME_GIT_ROOT + project.name + '.git'
	repository = client.get_repository(gitpath)
	repo = project.name + '.git'
	thecommit = repository.get_commit(commit)
	breadcrumbs = [{'dir': 'Commit #' + thecommit.hash, 'path':''}]
	return render_to_response('dashboard/sources/commit.html',{'page':'commits', 'repo':repo, 'commit':thecommit, 'project':project, 'breadcrumbs': breadcrumbs},context_instance=RequestContext(request))
Esempio n. 2
0
def sources_commits(request, project_id = None, branch = None):
	project = Project.objects.get(pk=project_id)
	client = GitClient()
	gitpath = settings.FORJME_GIT_ROOT + project.name + '.git'
	repository = client.get_repository(gitpath)
	repo = project.name + '.git'
	branches = repository.get_branches()
	tags = repository.get_tags()
	commits = repository.get_commits(branch)
	breadcrumbs = [{'dir': 'Commit history', 'path':''}]
	return render_to_response('dashboard/sources/commits.html',{'page':'commits', 'repo': repo, 'branch': branch, 'branches': branches, 'tags': tags, 'commits': commits, 'project': project, 'breadcrumbs': breadcrumbs}, context_instance=RequestContext(request))	
Esempio n. 3
0
def sources_archive(request, project_id = None, branch = None, format = 'zip'):
	project = Project.objects.get(pk=project_id)
	client = GitClient()
	gitpath = settings.FORJME_GIT_ROOT + project.name + '.git'
	repository = client.get_repository(gitpath)
	tree = repository.get_branch_tree(branch)
	archive_dir = settings.FORJME_ARCHIVE_DIR
	file_ouput = repository.create_archive(archive_dir, tree,format)
	response = HttpResponse(FileWrapper(file(file_ouput)), content_type='application/zip')
	response['Content-Length'] = os.path.getsize(file_ouput)
	response['Content-Disposition'] = 'attachment; filename=' + project.name + format
	return response
Esempio n. 4
0
def sources_branch(request, project_id = None, branch = None):
	project = Project.objects.get(pk=project_id)
	client = GitClient()
	gitpath = settings.FORJME_GIT_ROOT + project.name + '.git'
	repository = client.get_repository(gitpath)
	repo = project.name + '.git'
	#branch = repository.get_current_branch()
	#repo = 'test.git'
	path = ''
	parent = ''
	branches = repository.get_branches()
	tags = repository.get_tags()
	files = repository.get_tree(branch)
	return render_to_response('dashboard/sources/index.html',{'page':'files', 'files': files.output(), 'repo':repo, 'path': path, 'parent': parent, 'branch': branch, 'branches': branches, 'tags': tags,'project':project}, context_instance=RequestContext(request))	
Esempio n. 5
0
def sources_file(request, project_id = None, branch = None, file = None):
	project = Project.objects.get(pk=project_id)
	client = GitClient()
	gitpath = settings.FORJME_GIT_ROOT + project.name + '.git'
	repository = client.get_repository(gitpath)
	repo = project.name + '.git'
	fileType = repository.get_file_type(file)
	blob = repository.get_blob(branch+':"'+file+'"')
	#logger.debug('blob content : %s' % blob.output())
	#repo = 'test.git'
	branches = repository.get_branches()
	tags = repository.get_tags()
	output = blob.output()
	breadcrumbs = repository.get_breadcrumbs(file)
	return render_to_response('dashboard/sources/file.html',{'file':file, 'fileType':fileType, 'blob': output, 'repo': repo, 'breadcrumbs':breadcrumbs, 'branch':branch, 'branches':branches,'tags': tags, 'project': project}, context_instance=RequestContext(request))
Esempio n. 6
0
def sources_tree(request, project_id = None, branch = None, dir = None):
	#logger.debug('directory : %s' % dir)
	project = Project.objects.get(pk=project_id)
	client = GitClient()
	gitpath = settings.FORJME_GIT_ROOT + project.name + '.git'
	repository = client.get_repository(gitpath)
	repo = project.name + '.git'
	branches = repository.get_branches()
	tags = repository.get_tags()
	commits = repository.get_commits(branch)
	path = dir
	if dir.rfind('/') != -1:
		pos = dir.rfind('/')
		parent = dir[0:pos]
	else:
		parent= ''
	files = repository.get_tree(branch+':"'+dir+'"')
	breadcrumbs = repository.get_breadcrumbs(dir)
	return render_to_response('dashboard/sources/index.html',{'page':'files', 'files': files.output(), 'repo':repo, 'path': path, 'parent': parent, 'branch': branch, 'branches': branches, 'tags': tags, 'breadcrumbs': breadcrumbs, 'project':project}, context_instance=RequestContext(request))